TreeMap in umgekehrter Reihenfolge von Value ausgeben?
Wie kann ich eine TreeMap in umgekehrter Reihenfolge (Reihenfolge von Value) ausgeben?
Danke im Vorraus!
2 Antworten
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, Technologie
Map<Whatever, Whatever> reversed = new TreeMap<>(Collections.reverseOrder());
reversed.putAll(mapToReverse);
Nach einer kurzen Google-Runde habe ich das auf Stackoverflow gefunden und ein bisschen für dich modifiziert. Das sortiert eine Map nach der Value - aber rückwärts
public static <K,V extends Comparable<? super V>> Map<K, V> entriesSortedByValues(Map<K,V> map) {
SortedSet<Map.Entry<K,V>> sortedEntries = new TreeSet<>((e1, e2) -> e2.getValue().compareTo(e1.getValue()));
sortedEntries.addAll(map.entrySet());
Map<K,V> sortedMap = new LinkedHashMap<>();
for (Map.Entry<K,V> entry : sortedEntries)
sortedMap.put(entry.getKey(), entry.getValue());
return sortedMap;
}
verreisterNutzer
13.03.2022, 21:04
@Marcus496
Hi... wusste ich nicht! Hab es zu einer Map geändert in der Antwort :)
Hey, danke für die schnelle Antwort. Ich hab noch nie mit SortedSet's gearbeitet. Wie kriegt man von denen jetzt die jeweiligen Values und so? Danke