[*] Überprüfen Sie die Existenz eines -Elements mit der entsprechenden Methode (erneut über einen bucket )
ist natürlich auch die gleiche mandatorische ()
Über die Berichterstattung < /p>
for(Product product: products) {
System.out.println(product.toString() + " - " + product.hashCode());
}
[/code]
Es erstellt einen einfachen Bericht.
Code: Select all
assertTrue(products.contains(new Product("cod-001", "Guitar Samick", 100.00))); //passes
assertTrue(products.contains(new Product("cod-002", "Guitar Bass Ibanez", 200.00))) //passes
assertTrue(products.contains(new Product("cod-003", "Guitar Fender", 300.00)));//passes
assertTrue(products.contains(new Product("cod-004", "Guitar Bass Fender", 400.00)));//passes
[*] Das HashCode gespeichert am Eimer -Element
[*] Das -Codode des Elements mit dem Originalstaat (bekannt "mit dem Originalstaat (mit dem Original -State (bekannt Anruf) < /li>
< /ul>
Jetzt aus der folgenden Frage < /p>
java.util.hashset.Containt Testing Leads auf ein inkonsistentes Ergebnis < /li> < /> < /ul>
First Sie haben das Objekt in den Satz gestellt, dann hat es verändert, dass es seinen HashCode änderte. In dem Hashset bleibt jedoch das Objekt immer noch im alten Eimer bestehen. Welche Zahl wird aus dem ursprünglichen HashCode abgeleitet. Daher kann es nicht gefunden werden. />
Code: Select all
for(Product product: products) {
//each element is edited +100 to the number
product.setNumber(product.getNumber() + 100.00);
}
Code: Select all
assertTrue(products.contains(new Product("cod-001", "Guitar Samick", 200.00))); //fails
assertTrue(products.contains(new Product("cod-002", "Guitar Bass Ibanez", 300.00))) //fails
assertTrue(products.contains(new Product("cod-003", "Guitar Fender", 400.00)));//fails
assertTrue(products.contains(new Product("cod-004", "Guitar Bass Fender", 500.00)));//fails
Der HashCode am Eimer verwendet. HashCode des Elements basiert auf neu [/b] Zustand (mit dem Produkt bekannt.
Code: Select all
for(Product product: products) {
System.out.println(product.toString() + " - " + product.hashCode());
}
Frage
Wie kann man von jedem Eimer den HashCode abrufen. List/Arrays von Hashcodes
Einer aus allen Eimer (die Anfrage in dieser Frage)
[*] Andere aus allen Elementen (bereits mit dem product.hashCode () Methode Call)