map根据value排序
时间: 2023-09-06 18:13:25 浏览: 133
根据value排序的方法有多种。其中一种方法是使用Java中的TreeMap类。TreeMap是一个有序的Map实现类,它可以根据key的自然排序或指定的Comparator对entry进行排序。要根据value排序,可以先将Map的entry集合转换为List,然后使用Collections类的sort方法根据entry的value排序。下面是一个示例代码:
```java
import java.util.*;
public class SortMapByValue {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("apple", 5);
map.put("banana", 3);
map.put("orange", 8);
map.put("grape", 2);
List<Map.Entry<String, Integer>> entryList = new ArrayList<>(map.entrySet());
// 使用Collections类的sort方法,传入一个自定义的Comparator比较器
Collections.sort(entryList, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> entry1, Map.Entry<String, Integer> entry2) {
return entry1.getValue().compareTo(entry2.getValue());
}
});
// 遍历排序后的entryList
for (Map.Entry<String, Integer> entry : entryList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
这段代码会输出按照value排序后的结果:grape: 2, banana: 3, apple: 5, orange: 8。<span class="em">1</span>
#### 引用[.reference_title]
- *1* [Java Map 按照Value排序的实现方法](https://download.csdn.net/download/weixin_38627104/12794814)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文