java 按map 的value 倒叙排列
时间: 2023-08-11 13:03:14 浏览: 119
Java Map 按key排序和按Value排序的实现方法
要按照 Map 的 value 倒序排列,可以将 Map.Entry 对象转换为 List,然后使用 `Collections.sort()` 方法进行排序。
以下是一个示例代码:
```java
Map<String, Integer> map = new HashMap<>();
map.put("apple", 3);
map.put("banana", 1);
map.put("orange", 5);
map.put("pear", 2);
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 o2.getValue().compareTo(o1.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
```
运行结果为:
```
orange : 5
apple : 3
pear : 2
banana : 1
```
在上面的代码中,我们首先将 Map.Entry 对象转换为 List,然后使用 `Collections.sort()` 方法进行排序。排序时使用了一个自定义的比较器,它比较两个 Map.Entry 对象的 value 值,将其从大到小进行排序。最后,我们遍历排好序的 List,输出其中的 key-value 值。
阅读全文