Maps sortieren
Maps werden verwendet, um Schlüssel-Wert-Paare zu speichern. Wir können Maps nach ihren Schlüsseln oder Werten sortieren. TreeMap kann auch verwendet werden, um Schlüssel-Wert-Paare in sortierter Reihenfolge zu speichern.
Der folgende Code demonstriert das Sortieren einer Map von ganzen Zahlen mit der sort()
-Methode:
public static void main(String[] args) {
Map<Integer, String> map = new TreeMap<Integer, String>();
map.put(6, "Apple");
map.put(3, "Banana");
map.put(1, "Mango");
map.put(9, "Orange");
System.out.println("Map vor dem Sortieren: " + map);
// Sortieren nach Schlüsseln
Map<Integer, String> sortedByKeyMap = new TreeMap<Integer, String>(map);
System.out.println("Map nach dem Sortieren nach Schlüsseln: " + sortedByKeyMap);
// Sortieren nach Wert
List<Map.Entry<Integer, String>> list = new ArrayList<Map.Entry<Integer, String>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, String>>() {
public int compare(Map.Entry<Integer, String> o1, Map.Entry<Integer, String> o2) {
return (o1.getValue()).compareTo(o2.getValue());
}
});
Map<Integer, String> sortedByValueMap = new LinkedHashMap<Integer, String>();
for (Map.Entry<Integer, String> entry : list) {
sortedByValueMap.put(entry.getKey(), entry.getValue());
}
System.out.println("Map nach dem Sortieren nach Werten: " + sortedByValueMap);
}
Um diesen Code auszuführen, navigieren Sie im Terminal zum Verzeichnis ~/project
und führen Sie die folgenden Befehle aus:
$ javac Sorting.java
$ java Sorting
Dieser Code wird die Map nach ihren Schlüsseln und Werten sortieren.