java对map按照value值排序
时间: 2023-04-27 21:03:48 浏览: 117
Java中可以使用Collections.sort()方法和Comparator接口来对Map按照value值排序。
示例代码:
```
Map<String, Integer> map = new HashMap<>();
map.put("a", 3);
map.put("b", 2);
map.put("c", 1);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
```
输出:
```
c : 1
b : 2
a : 3
```
这段代码将map的键值对转换成了list,然后使用Collections.sort()方法和Comparator接口按照value值进行排序,最后遍历list输出键值对。
阅读全文