Heim >Java >JavaBase >Ist die Schlüsselsortierung der Java-Karte?

Ist die Schlüsselsortierung der Java-Karte?

angryTom
angryTomOriginal
2019-11-18 11:46:462075Durchsuche

Ist die Schlüsselsortierung der Java-Karte?

Ist der Schlüssel der Java-Karte sortiert?

Java definiert eine Schnittstelle java.util für die Zuordnung in den Daten Struktur.Map, es implementiert vier Klassen, nämlich: HashMap, HashTable, LinkedHashMapTreeMap, Map erlaubt keine Schlüsselduplizierung, erlaubt aber Werteduplizierung

1.HashMap:

Die am häufigsten verwendete Karte speichert Daten entsprechend dem Hashcode-Wert des Schlüssels, und ihr Wert kann direkt anhand des Schlüssels abgerufen werden (da der Hashcode-Wert desselben Schlüssels gleich ist, wird der Wert an der Adresse des gespeichert Der Hashcode-Wert kann daher direkt anhand des Schlüsselwerts abgerufen werden. Beim Durchlaufen ist die Reihenfolge des Datenabrufs völlig zufällig höchstens null sein und den Wert mehrerer Datensätze auf null setzen. Unterstützt die Thread-Synchronisierung, das heißt, mehrere Threads können gleichzeitig HashMap schreiben, was zu Dateninkonsistenzen führen kann Sie können die synchronziedMap-Methode verwenden, um HashMap zu synchronisieren, oder concurrentHashMap verwenden

2 .HashTable:

Ähnlich wie bei HashMap besteht der Unterschied darin, dass die Aufzeichnung nicht zulässig ist Schlüssel oder Werte müssen leer sein und die Thread-Synchronisierung unterstützen, d. h. es kann immer nur ein Thread in die HashTable schreiben, wodurch die HashTable beim Schreiben leer ist 3.LinkedHashMap:

ist eine Unterklasse von HahsMap, aber sie behält die Einfügereihenfolge der Datensätze bei

. Das erste, was beim Durchlaufen erhalten wird, muss zuerst eingefügt werden. Sie können auch Parameter übernehmen Beim Erstellen und Sortieren nach der Anzahl der Anwendungen ist die Durchquerung langsamer als bei HahsMap. Es gibt jedoch eine Ausnahme: Wenn die Kapazität von HashMap groß und die tatsächlichen Daten klein sind, ist die Durchquerung langsamer als bei LinkedHashMap eine Kette), da die Durchlaufgeschwindigkeit von HashMap mit seiner Kapazität zusammenhängt und die Durchlaufgeschwindigkeit von LinkedHashMap nur mit der Datenmenge zusammenhängt

4.TreeMap:

Implementiert die sortMap-Schnittstelle, kann die gespeicherten Datensätze nach Schlüsseln sortieren (Standard aufsteigende Reihenfolge)

Sie können auch einen Sortierkomparator angeben und die beim Durchlaufen erhaltenen Daten werden sortiert

Welche Art von Karte sollte unter welchen Umständen verwendet werden:

Elemente in der Karte einfügen, löschen und suchen: HashMap

Um in einer benutzerdefinierten oder natürlichen Reihenfolge zu durchlaufen: TreeMap

Erfordert, dass die Eingabereihenfolge und die Ausgabereihenfolge gleich sind: LinkedHashMap

php Chinesische Website, eine große Anzahl kostenloser

Java-Einführungs-Tutorials

, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonIst die Schlüsselsortierung der Java-Karte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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