大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
List<Matchs> matchsList = new ArrayList();
Map<String,List<Matchs>> MatchsListMap=matchsList.stream()
.collect(Collectors.groupingBy(Matchs::getMatchDate));
此时MatchsListMap的排序规则是根据Hash值排序一般来讲认为是无序即可,那么如果需要根据MatchDate升/降序该怎么办呢?
答案是:
TreeMap<String, List<Matchs>> matchsListMap = matchsList.stream()
.collect(Collectors.groupingBy(Matchs::getMatchDate,TreeMap::new,Collectors.toList()));
此时返回的为TreeMap类型数据,TreeMap默认为按照key升序,matchsListMap.descendingMap()可以降序输出
2021年1月4日 19:53:19
补充另一种修改比较器的写法
List<Integer> resultList = IntStream.rangeClosed(1, 24).map(operand -> 0).boxed().collect(Collectors.toList());
resultList.set(1,9);
resultList.set(3,3);
resultList.set(7,22);
TreeMap<Integer, List<Integer>> collect = resultList.stream()
.collect(Collectors.groupingBy(Function.identity(), () -> {
Comparator<Integer> comparing = Comparator.comparing(Function.identity());
return new TreeMap<>(comparing.reversed());
}, Collectors.toList()));
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/171231.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...