美文网首页
Java8 stream 之groupingBy() 分组排序

Java8 stream 之groupingBy() 分组排序

作者: AC编程 | 来源:发表于2020-11-20 09:12 被阅读0次
List<Matchs> matchsList = new ArrayList();
Map<String,List<Matchs>> MatchsListMap=matchsList.stream().collect(Collectors.groupingBy(Matchs::getMatchDate));    

此时MatchsListMap的排序规则是根据MatchDate升序因为返回Map为HashMap所以如果是数据类型会根据字典类型排序字符串会根据Hash值排序一般来讲认为是无序即可,那么如果需要根据MatchDate升/降序该怎么办呢?
答案是:

TreeMap<String, List<Matchs>> matchsListMap = matchsList.stream()
.collect(Collectors.groupingBy(Matchs::getMatchDate,TreeMap::new,Collectors.toList()));

此时返回的为TreeMap类型数据,TreeMap默认为按照key升序,matchsListMap.descendingMap()可以降序输出

相关文章

网友评论

      本文标题:Java8 stream 之groupingBy() 分组排序

      本文链接:https://www.haomeiwen.com/subject/sxtdiktx.html