java8 Hashmap排序错误

Nam*_*jug 3 java hashmap java-8

我有一张地图:

private Map<String, AtomicInteger> keywordMap = new HashMap<String, AtomicInteger>();
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下代码对Java 8中的Mapby value(AtomicInteger)进行排序:

keywordMap
        .entrySet()
        .parallelStream()
        .sorted().forEachOrdered(e -> System.out.print(e.getKey()));
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

java.lang.ClassCastException: java.util.HashMap$Node cannot be cast to java.lang.Comparable
Run Code Online (Sandbox Code Playgroud)

此行中发生错误: .forEachOrdered(e -> System.out.print(e.getKey()));

我的代码出了什么问题?

Rah*_*thi 6

尝试使用:

Stream<Map.Entry<K,V>> keywordMap = keywordMap.entrySet().stream().sorted(Map.Entry.comparingByValue());
Run Code Online (Sandbox Code Playgroud)