一、按Map的键排序
public static void sortedMapKey(){
Map<String, Integer> codes = new HashMap<>();
codes.put("zhangsan", 1);
codes.put("lisi", 49);
codes.put("wangwu", 33);
codes.put("anni", 86);
codes.put("block", 92);
Map<String, Integer> sortedMap = codes.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(
Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(oldVal, newVal) -> oldVal,
LinkedHashMap::new
)
);
sortedMap.entrySet().forEach(System.out::println);
}
二、按Map的值排序
public static void sortedMapValue(){
Map<String, Integer> codes = new HashMap<>();
codes.put("zhangsan", 1);
codes.put("lisi", 49);
codes.put("wangwu", 33);
codes.put("anni", 86);
codes.put("block", 92);
Map<String, Integer> sortedMap2 = codes.entrySet().stream()
.sorted(Map.Entry.comparingByValue())
.collect(Collectors.toMap(
Map.Entry::getKey,
Map.Entry::getValue,
(oldVal, newVal) -> oldVal,
LinkedHashMap::new));
sortedMap2.entrySet().forEach(System.out::println);
}