java map按值排序
Java中的Map是一个键值对的集合,如果想要按照值进行排序,可以通过以下步骤实现:
- 创建一个实现了Comparator接口的类,用于比较Map.Entry的值。
例如:
class ValueComparator implements Comparator<Map.Entry<String, Integer>> {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue());
}
}
- 创建一个Map集合,并将需要排序的键值对放入Map中。
例如:
Map<String, Integer> map = new HashMap<>();
map.put("A", 3);
map.put("B", 2);
map.put("C", 5);
- 将Map转换为List集合,并对List进行排序。
例如:
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new ValueComparator());
- 遍历排序后的List输出结果。
例如:
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
输出结果:
B : 2
A : 3
C : 5
原文地址: https://www.cveoy.top/t/topic/ueU 著作权归作者所有。请勿转载和采集!