Java中的Map是一个键值对的集合,如果想要按照值进行排序,可以通过以下步骤实现:

  1. 创建一个实现了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());
    }
}
  1. 创建一个Map集合,并将需要排序的键值对放入Map中。

例如:

Map<String, Integer> map = new HashMap<>();
map.put("A", 3);
map.put("B", 2);
map.put("C", 5);
  1. 将Map转换为List集合,并对List进行排序。

例如:

List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new ValueComparator());
  1. 遍历排序后的List输出结果。

例如:

for (Map.Entry<String, Integer> entry : list) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

输出结果:

B : 2
A : 3
C : 5
java map按值排序

原文地址: https://www.cveoy.top/t/topic/ueU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录