1.问题描述
如标题所示,对map进行排序
2.解决思路
2.1 方法一
public class TestStream {
public static void main(String[] args) {
Map<Integer, String> res = new HashMap<>();
res.put(4, "a");
res.put(1, "f");
res.put(3, "b");
res.put(2, "a");
Map<Integer, String> collect = new LinkedHashMap<>();
res.entrySet().stream()
.sorted(Map.Entry.<Integer, String>comparingByValue().reversed())
.forEachOrdered(x -> collect.put(x.getKey(), x.getValue()));
System.out.println(collect);
}
}
2.1 方法二 (有点问题,欢迎大家留言讨论)