Derzeit habe ich zum Spaß in den JSE-Quellcode gebohrt. Aus einigen Tutorials habe ich ein Prinzip two equals objects (i.e. as to object a and b a.equals(b) returns true) must have the same hashcode, on the other hand, two objects with the same hashcode are not necessarily equals
gefunden. Gemäß dem HashTable-Quellcode von Java API (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Hashtable.java), z.B. beziehen sich auf Zeile 254, können wir fast equals => same hashcode
ableiten, aber ich kann immer noch nicht vollständig verstehen, warum two objects with the same hashcode are not necessarily equals
. Jeder kann mehr Gründe dafür geben? Vielen Dank im VorausWarum sind zwei Objekte mit demselben Hashcode nicht notwendigerweise gleich?
Hinweis! Diese Frage ist mehr daran interessiert, warum zwei Objekte mit dem gleichen Hash-Code sind nicht notwendigerweise gleich
Es gibt mehr mögliche 'String's (zum Beispiel) als es' int's gibt. Irgendwann werden Ihnen die einzigartigen Hashcodes ausgehen, sogar mit einem ansonsten perfekten Hash-Algorithmus. – resueman
Sie und Ihr Zwillingsbruder haben den gleichen Geburtstagstag, sind aber unterschiedliche Personen .... –