Map<String, Integer> map = new LinkedHashMap<String, Integer>();
map .put("a", 1);
map .put("d", 4);
map .put("c", 3);
map .put("b", 2);
这里的结果是: a:1, d:4, c:3, b:2.
现在排序:
第一步:将map转为list
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
第二步:根据值排序
Comparator<Map.Entry<String, Integer>> comparator = (Map.Entry<String, Integer> m1, Map.Entry<String, Integer> m2) -> m1.getValue().compareTo(m2.getValue());
list.sort(comparator.reversed()); // 倒序排序
排序后的结果是: d:4, c:3, b:2, a:1.