java map按值排序demo
以下是一个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
我们可以看到,输出结果已经按值排序了。
原文地址: https://www.cveoy.top/t/topic/ueS 著作权归作者所有。请勿转载和采集!