Java map排序大到小
时间: 2023-07-25 09:04:53 浏览: 42
要对Java Map进行排序,需要先将Map转换为List,然后使用Collections.sort()方法对List进行排序。
以下是一个示例代码,用于将Map按值从大到小排序:
```java
import java.util.*;
public class MapSortByValue {
public static void main(String[] args) {
// 创建一个Map
Map<String, Integer> map = new HashMap<>();
map.put("A", 5);
map.put("B", 3);
map.put("C", 10);
map.put("D", 1);
// 将Map转换为List
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
// 对List进行排序
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());
}
}
}
```
输出结果为:
```
C: 10
A: 5
B: 3
D: 1
```