Java 正在尝试对链接的HashMap进行排序<;字符,整数>;按价值

Java 正在尝试对链接的HashMap进行排序<;字符,整数>;按价值,java,sorting,linkedhashmap,Java,Sorting,Linkedhashmap,我目前正在使用它来尝试,但我得到一个错误,它说排序的方法(Comparator尝试类似于: letterFrequencies.entrySet().stream() .sorted(Map.Entry.comparingByValue().reversed()) .collect(Collectors.toMap(Entry::getKey, Entry::getValue)); LinkedHashMap结果集= letterFrequencies.entr

我目前正在使用它来尝试,但我得到一个错误,它说
排序的方法(Comparator尝试类似于:

letterFrequencies.entrySet().stream()
        .sorted(Map.Entry.comparingByValue().reversed())
        .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
LinkedHashMap结果集=
letterFrequencies.entrySet().stream()
.sorted(Map.Entry.comparingByValue().reversed())
.collect(Collectors.toMap(Entry::getKey,Entry::getValue,(e1,e2)->e1,LinkedHashMap::new));
此外,正如Spider Boris所提到的,将结果转储到
HashMap
不会保持插入顺序,因此在此处使用
LinkedHashMap

尝试以下操作:

letterFrequencies.entrySet().stream()
        .sorted(Map.Entry.comparingByValue().reversed())
        .collect(Collectors.toMap(Entry::getKey, Entry::getValue));
LinkedHashMap结果集=
letterFrequencies.entrySet().stream()
.sorted(Map.Entry.comparingByValue().reversed())
.collect(Collectors.toMap(Entry::getKey,Entry::getValue,(e1,e2)->e1,LinkedHashMap::new));

此外,正如Spider Boris所提到的,将结果转储到
HashMap
中不会保持插入顺序,因此在此处使用
LinkedHashMap

您可以像这样传递
Comparator.reverseOrder()
并收集到LinkedHashMap中


您可以像这样传递
Comparator.reverseOrder()
,然后收集到LinkedHashMap中


Collectors.toMap
-oops。即使让
比较器
工作,将结果转储到
哈希映射
也不会产生任何有用的结果。
Collectors.toMap
-oops。即使让
比较器
工作,将结果转储到
哈希映射
也不会产生任何有用的结果ul.您可能希望将
comparingByKey
更改为
comparingByValue
您可能希望将
comparingByKey
更改为
comparingByValue
letterFrequencies.entrySet().stream()
            .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
            .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                    (v1, v2) -> v1, LinkedHashMap::new));