我有一个
HashMap<String,Integer> map
我想按值降序排序 我愿意:
HashMap<String,Integer> topSorted = new HashMap<>();
//sort map in descending order
Stream<HashMap.Entry<String,Integer>> st = map.entrySet().stream();
st.sorted(Comparator.comparing((HashMap.Entry<String,Integer> e) -> e.getValue()).reversed())
.forEach(e -> topSorted.put(e.getKey(),e.getValue()));
但是topsorted仍然和map一样,根本没有进行排序
谁能解释一下我做错了什么
最佳答案
HashMap
未排序。您无法对其进行排序。
您可以使用LinkedHashMap
,它为您提供特定的迭代顺序。
关于Java 流排序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31313531/