Heim > Java > JavaBase > Hauptteil

Der Unterschied zwischen HashMap und LinkedHashMap in Java

王林
Freigeben: 2019-11-18 14:19:34
Original
5236 Leute haben es durchsucht

Der Unterschied zwischen HashMap und LinkedHashMap in Java

HashMap

hashMap ist die am häufigsten verwendete Karte. Sie speichert Daten entsprechend dem HashCode-Wert des Schlüssels Direkt nach dem Schlüssel ist die Zugriffsgeschwindigkeit sehr hoch und die Reihenfolge beim Durchlaufen ist völlig zufällig. HashMap lässt nur zu, dass ein Schlüssel Null ist, und ermöglicht, dass mehrere Werte Null sind.

Eigenschaften: Vollständig zufällig

Vorteile: Zufälliger Zugriff, schnelle Werterfassung

Nachteile: Mehrere Threads, die HashMap gleichzeitig schreiben, können zu Dateninkonsistenzen führen. Verwenden Sie die Methode Collection的synchronizedMap oder verwenden Sie ConcurrentHashMap

LinkedHashMap

LinkedHashMap ist eine Unterklasse von HashMap, die die Einfügereihenfolge von Datensätzen speichert Beim Durchlaufen von HashMap muss der zuerst erhaltene Datensatz zuerst eingefügt werden, ähnlich wie bei OrderedDict in Python.

Die Durchlaufgeschwindigkeit ist langsamer als bei HashMap, es gibt jedoch eine Ausnahme: Wenn die Kapazität von HashMap groß und die tatsächlichen Daten sehr klein sind, hängt die Durchlaufgeschwindigkeit von HashMap von seiner Kapazität ab Die Durchlaufgeschwindigkeit von LinkedHashMap hängt nur von der tatsächlichen Datenmenge ab.

TreeMap

TreeMap implementiert die SortMap-Schnittstelle und kann die gespeicherten Datensätze nach Schlüssel sortieren. Die Standardeinstellung ist die aufsteigende Reihenfolge nach Schlüssel Beim Durchlaufen der TreeMap werden die erhaltenen Datensätze nach Schlüssel sortiert.

Karte basierend auf Daten auswählen

Im Allgemeinen verwenden wir HashMap. Zum Einfügen, Löschen und Lokalisieren von Elementen in der Karte ist HashMap die beste Wahl. Wenn Sie jedoch Schlüssel in natürlicher oder benutzerdefinierter Reihenfolge durchlaufen möchten, ist TreeMap besser geeignet. Wenn Sie möchten, dass die Ausgabereihenfolge mit der Eingabe übereinstimmt, können Sie LinkedHashMap verwenden, das auch in Lesereihenfolge angeordnet werden kann.

Empfohlenes Tutorial: Java-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen HashMap und LinkedHashMap in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!