TreeMap in umgekehrter Reihenfolge von Value ausgeben?

2 Antworten

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;
}

Marcus496 
Fragesteller
 13.03.2022, 20:59

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

1