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!