Nam*_*jug 3 java hashmap java-8
我有一张地图:
private Map<String, AtomicInteger> keywordMap = new HashMap<String, AtomicInteger>();
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用以下代码对Java 8中的Map
by 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()));
我的代码出了什么问题?
尝试使用:
Stream<Map.Entry<K,V>> keywordMap = keywordMap.entrySet().stream().sorted(Map.Entry.comparingByValue());
Run Code Online (Sandbox Code Playgroud)