treemap按值排序
时间: 2023-09-12 22:04:19 浏览: 175
TreeMap按VALUE排序
5星 · 资源好评率100%
要按值对 TreeMap 进行排序,可以使用自定义的比较器来实现。下面是一个示例代码段,展示了如何按值对 TreeMap 进行排序:
```java
import java.util.*;
public class TreeMapValueSort {
public static void main(String[] args) {
// 创建一个 TreeMap
TreeMap<String, Integer> treeMap = new TreeMap<>();
// 添加键值对
treeMap.put("A", 5);
treeMap.put("B", 3);
treeMap.put("C", 8);
treeMap.put("D", 2);
treeMap.put("E", 10);
// 使用比较器按值排序 TreeMap
List<Map.Entry<String, Integer>> sortedList = new ArrayList<>(treeMap.entrySet());
Collections.sort(sortedList, 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 : sortedList) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
}
}
```
上述代码中,我们首先创建一个 TreeMap,并向其添加一些键值对。然后,我们将 TreeMap 的 entrySet 转换为列表,并使用自定义的比较器对列表进行排序。比较器根据每个 entry 对应的值进行比较。最后,我们遍历排序后的列表并打印结果。
输出结果将按照值的升序顺序打印出来:
```
D : 2
B : 3
A : 5
C : 8
E : 10
```
希望这可以帮助到你!如有任何疑问,请随时提问。
阅读全文