美文网首页
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