HashMap
ist in einer sehr einfachen Art und Weise implementiert, aber es braucht ein Genie, um zu verstehen, wie es implementiert ist. Also, ich habe über HashMap
in Java-Dokumentation gelesen. Ich habe ein paar kleine Fragen zu HashMap
:Einige Zweifel in Bezug auf HashMap
- Ich weiß, Standardkapazität von
HashMap
ist 16. In Java-docs sie Die Standardanfangskapazität gegeben haben - muss eine Potenz von zwei sein.. Irgendein bestimmter Grund dahinter? - Ich weiß ein wenig, wie
HashMap
funktioniert auf der Grundlage von HashCode, Bucket undLinkedList
, wenn ich nicht falsch liege. Dann wird die Größe vonHashMap
erhöht. Ich meine, wie Buckets Größe und LinkedList Größe verwaltet werden. - Dies könnte eine dumme Frage sein. Wenn wir ein neues Element in
HashMap
hinzufügen, greift es auf Grundlage von HashCode direkt auf diesen bestimmten Bucket zu, ohne wie inLinkedList
zu reisen. Habe ich recht? Und anderes ist, dass es Element am Kopf, nicht an den Schwänzen hinzufügt. Was ist der Grund dafür? Ist ein neues Element am Kopf vonLinkedList
vorhanden, das im Inneren des Bechers vorhanden ist, um eine Überquerung des Schwanzes zu vermeiden. Ist mein Denken richtig?
[Beste Erklärung aller Zeiten] (http://java.dzone.com/articles/hashmap-internal). – Maroun
@Maroun Maroun +1 für Link –