Java8 stream 之groupingBy() 分组排序

	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升序,descendingMap()降序输出

    原文作者:网瘾少年徐志摩
    原文地址: https://blog.csdn.net/wysnxzm/article/details/78930110
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞