Java stream 操作

Posted code_____monkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java stream 操作相关的知识,希望对你有一定的参考价值。

先按照某一字段分组,再按照另外字段获取最大的那个

Map<String, HitRuleConfig> configMap = configList.parallelStream().collect(
               Collectors.groupingBy(HitRuleConfig::getAppId, // 先根据appId分组
               Collectors.collectingAndThen(
               Collectors.reducing(( c1,  c2) -> c1.getVersionSort() > c2.getVersionSort() ? c1 : c2), Optional::get)));

分组

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

list中抽出某一个字段的值

List orderNoList=list.stream().map(Order::getOrderNo).collect(Collectors.toList());

以上是关于Java stream 操作的主要内容,如果未能解决你的问题,请参考以下文章

Java8新特性--Stream流操作

Java8 新特性之集合操作Stream

JAVA8新特性--集合流操作Stream

Java stream操作

Java8 Stream流API常用操作

为啥具有短路操作的并行 Java Stream 会评估 Stream 的所有元素,而顺序 Stream 不会?