Heim > Java > JavaErste Schritte > Hauptteil

Wie funktioniert HashMap?

王林
Freigeben: 2020-02-11 18:05:35
nach vorne
2948 Leute haben es durchsucht

Wie funktioniert HashMap?

Das Prinzip wird wie folgt eingeführt:

HashMap wird basierend auf dem Hash-Algorithmus implementiert.

(Freigabe von Online-Lernvideo-Tutorials: Java-Video-Tutorial)

Bei Verwendung der Methode put(key, value) wird HashMap basierend auf key.hashCode abgerufen ()-Methode Rufen Sie den Hash-Wert des Schlüssels ab und ermitteln Sie dann die entsprechende Bucket-Position basierend auf dem Hash-Wert. Wenn in diesem Bereich bereits ein Element vorhanden ist, wird ein weiterer euqal()-Vergleich durchgeführt Das Hinzufügen schlägt fehl, da HashMap nicht denselben Schlüsselwert zulässt. Wenn sie nicht gleich sind, handelt es sich lediglich um einen einfachen Hash-Konflikt.

Vor JDK 1.8 speichert HashMap dieses Element im nächsten Knoten der verknüpften Liste. HashMap speichert Schlüssel-Wert-Paare in jedem verknüpften Listenknoten. Nach JDK1.8 hat HashMap einen rot-schwarzen Baum hinzugefügt. Wenn also die Anzahl der verknüpften Listenknoten 8 überschreitet, wird sie von der verknüpften Liste in einen rot-schwarzen Baum konvertiert, und sobald sie weniger als 8 beträgt, wird dies der Fall sein vom Rot-Schwarz-Baum zurück in die verknüpfte Liste konvertiert.

Empfohlene verwandte Artikel und Tutorials: Java Quick Start

Das obige ist der detaillierte Inhalt vonWie funktioniert HashMap?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage