map集合根据value排序
时间: 2023-09-29 16:06:19 浏览: 96
要根据 Map 集合的 value 进行排序,你可以将 Map 的 entrySet 转换为 List,并使用 Collections.sort() 方法进行排序。
下面是一个示例代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 5);
map.put("banana", 2);
map.put("orange", 8);
map.put("grape", 3);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
// 使用 Collections.sort() 方法进行排序
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> entry1, Map.Entry<String, Integer> entry2) {
return entry1.getValue().compareTo(entry2.getValue());
}
});
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果将会按照 value 的升序排列:
```
banana: 2
grape: 3
apple: 5
orange: 8
```
你可以根据自己的需求修改 Comparator 来实现其他的排序方式。
阅读全文