Java8 stream 之groupingBy() 分组排序

	List matchsList = new ArrayList();
	
	Map> MatchsListMap=matchsList.stream()
	.collect(Collectors.groupingBy(Matchs::getMatchDate));	

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

答案是:


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

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

你可能感兴趣的:(JAVA)