Es gibt verschiedene Arten von Karten, aber es gibt einen Unterschied in der Reihenfolge, in der die gespeicherten Werte beibehalten werden (in welcher Reihenfolge sie ausgegeben werden). Ich habe es von den Karten zusammengefasst, die ich oft (persönlich) sehe. Ich bin der Meinung, dass die zu verwendende Karte aufgrund dieser unterschiedlichen Eigenschaften häufig ausgewählt wird.
HashMap | TreeMap | LinkedHashMap |
---|---|---|
Unbestimmte Reihenfolge | Aufsteigende Reihenfolge des Schlüssels | Registrierungsauftrag |
Ich habe es unten überprüft.
test.java
public static void main(String[] args) {
final int key = 0;
final int value = 1;
HashMap<String,String> hashMap = new HashMap<String,String>();
TreeMap<String,String> treeMap = new TreeMap<String,String>();
LinkedHashMap<String,String> linkedHashMap = new LinkedHashMap<String,String>();
String[][] keyValue = {{"Japan","America","China","Korea","India"},
{"Tokyo","Washington D.C.","Beijing","Seoul","New Delhi"}};
for(int i = 0; i < keyValue[key].length; i++) {
hashMap.put(keyValue[key][i], keyValue[value][i]);
treeMap.put(keyValue[key][i], keyValue[value][i]);
linkedHashMap.put(keyValue[key][i], keyValue[value][i]);
}
System.out.println("Geben Sie das Ergebnis von HashMap aus!");
for(String hashMapKey : hashMap.keySet()) {
System.out.println( hashMapKey +"Die Hauptstadt von"+ hashMap.get(hashMapKey) + "ist.");
}
System.out.println();
System.out.println("Geben Sie das Ergebnis von TreeMap aus!");
for(String treeMapKey :treeMap.keySet()) {
System.out.println( treeMapKey +"Die Hauptstadt von"+ treeMap.get(treeMapKey) + "ist.");
}
System.out.println();
System.out.println("Geben Sie das Ergebnis von LinkedHashMap aus!");
for(String linkedHashMapKey : linkedHashMap.keySet()) {
System.out.println( linkedHashMapKey +"Die Hauptstadt von"+ linkedHashMap.get(linkedHashMapKey) + "ist.");
}
}
Ausführungsergebnis
Geben Sie das Ergebnis von HashMap aus!
Die Hauptstadt Japans ist Tokio.
Die Hauptstadt von China ist Peking.
Die Hauptstadt von Amerika ist Washington D..C.ist.
Die Hauptstadt von Korea ist Seoul.
Die Hauptstadt von Indien ist Neu-Delhi.
Geben Sie das Ergebnis von TreeMap aus!
Die Hauptstadt von Amerika ist Washington D..C.ist.
Die Hauptstadt von China ist Peking.
Die Hauptstadt von Indien ist Neu-Delhi.
Die Hauptstadt Japans ist Tokio.
Die Hauptstadt von Korea ist Seoul.
Geben Sie das Ergebnis von LinkedHashMap aus!
Die Hauptstadt Japans ist Tokio.
Die Hauptstadt von Amerika ist Washington D..C.ist.
Die Hauptstadt von China ist Peking.
Die Hauptstadt von Korea ist Seoul.
Die Hauptstadt von Indien ist Neu-Delhi.
Daher wurde bestätigt, dass HashMap in einer unbestimmten Reihenfolge vorliegt, TreeMap in aufsteigender Reihenfolge der Schlüssel (diesmal in aufsteigender Reihenfolge des Alphabets) und LinkedHashMap in der Registrierungsreihenfolge. Nun, ich vergesse es jedes Mal.