Java8 Map 按Key排序和按Value排序
java8以上的做法按key排序```Mapmap=newHashMap();map.put(“KFC”,“kfc”);map.put(“WNBA”,“wnba”);map.put
java8以上的做法
按key排序
Map<String, String> map = new HashMap<>();
map.put("KFC", "kfc");
map.put("WNBA", "wnba");
map.put("NBA", "nba");
map.put("CBA", "cba");
Map<String, String> collect = map.entrySet()
.stream()
.sorted(Map.Entry.comparingByKey(Comparator.reverseOrder())) //倒序
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oleValue, newValue) -> oleValue, LinkedHashMap::new));
System.out.println(collect);
最终输出:
按value排序
Map<String, String> map = new HashMap<>();
map.put("KFC", "kfc");
map.put("WNBA", "wnba");
map.put("NBA", "nba");
map.put("CBA", "cba");
Map<String, String> collect = map.entrySet()
.stream()
.sorted(Map.Entry.comparingByValue()) //正序
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oleValue, newValue) -> oleValue, LinkedHashMap::new));
System.out.println(collect);
最终输出:
很多写法在java8以上都简化了,很方便