以下是一个Java Map按值排序的示例:

import java.util.*;

public class MapSortByValueDemo {
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        map.put("Alice", 25);
        map.put("Bob", 20);
        map.put("Charlie", 30);
        map.put("David", 35);

        // 按值排序
        List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
        Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
            @Override
            public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
                return o1.getValue().compareTo(o2.getValue());
            }
        });

        // 输出排序结果
        for (Map.Entry<String, Integer> entry : list) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

在这个示例中,我们首先创建一个Map对象,并添加一些键值对。然后,我们使用entrySet()方法将Map转换为一个包含键值对的列表,并使用Collections.sort()方法按值进行排序。我们创建了一个Comparator对象来比较Map.Entry对象的值。最后,我们遍历排序后的列表,并输出每个键值对。

输出结果为:

Bob : 20
Alice : 25
Charlie : 30
David : 35

我们可以看到,输出结果已经按值排序了。

java map按值排序demo

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

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