import java.util.*;
public class MapKeySortingExample {
public static void main(String[] args) {
// 创建一个HashMap并添加一些键值对
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("orange", 2);
map.put("banana", 3);
map.put("grape", 4);
// 方法1:使用TreeMap对key进行自然排序
Map<String, Integer> sortedMap = new TreeMap<>(map);
System.out.println("使用TreeMap对key进行自然排序: " + sortedMap);
// 方法2:将entrySet转换为List并自定义排序规则
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
list.sort(Map.Entry.comparingByKey()); // 按照key进行升序排序
System.out.println("使用List并自定义排序规则: ");
for (Map.Entry<String, Integer> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
// 方法3:使用Stream API进行排序
map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEach(entry -> System.out.println(entry.getKey() + ": " + entry.getValue()));
}
}
使用 TreeMap
进行自然排序:
TreeMap
是一个有序的 Map
实现,默认会对键进行自然排序(即按照字典顺序)。HashMap
转换为 TreeMap
后,键会自动按升序排列。将 entrySet
转换为 List
并自定义排序规则:
Map
的 entrySet
转换为 List
,然后使用 list.sort()
方法对键进行排序。Map.Entry.comparingByKey()
来指定按键排序。使用 Stream API
进行排序:
Stream API
对 Map
的 entrySet
进行排序。stream().sorted()
方法可以方便地对流中的元素进行排序,并且可以通过 forEach
输出结果。以上三种方法都可以实现对 Map
的键进行排序。
下一篇:java localtime
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站