• Collectors类中的静态工厂方法


    工厂方法 返回类型 用于
    toList List<T>

     把流中的所有数据元素收集到List集合中。

    stream.collect(toList());

     toSet Set<T>

     把流中的所有数据元素收集到Set集合中,以为Set自身的特性,即不会出现重复

    项。stream.collect(toSet());

     toCollection Collection<T>

     把流中的数据元素收集你所指定的集合中,

    list.stream().collect(toCollection(ArrayList::new));

     counting Long

     计算流中元素的个数,list.stream().collect(counting());

     summingInt Integer

     对流中所有元素上指定的整数属性求和,

    list.stream().collect(summingInt(User::getAge));

     averagingInt Double

     对流中所有元素上指定的整数属性求平均数,

    list.stream().collect(averagingInt(User::getAge));

     summarizingInt

    IntSummaryStatistics

     收集流中所有元素上指定的整数属性的统计值,包括最大值、最小值、总数、平均值。

    list.stream().collect(summarizingInt(User::getAge));

    joining String

     连接流中元素上指定的属性,

    list.stream().map(s -> s).collect(joining("-"))

     maxBy Optional<T>

    使用指定的比较器去比较得到流中所有元素上指定属性的最大值,

    list.stream().collect(maxBy(Comparator.comparing(String::length)))

     minBy Optional<T> 使用指定的比较器去比较得到流中所有元素上指定属性的最小值,

    list.stream().collect(minBy(Comparator.comparing(String::length)))

     reducing 规约操作产生的类型

    从一个累加器的初始值开始,使用BinaryOperator与流中的元素逐个集合,最后将流规约为单个值。

    list.stream().collect(reducing(0, UserVO::getAge, Integer::sum));

     collectingAndThen  转换函数返回的类型

     对最终结果转换为另一种类型,

    list.stream().collect(collectingAndThen(Collectors.toList(), List::size));

     groupingBy  Map<k, List<T>>

     根据指定的属性来分组,

    views.stream().collect(groupingBy(String::length));

     partitioningBy  Map<boolean, List<T>>

     根据指定的属性来分区,

     views.stream().collect(partitioningBy(str -> str.startsWith("ws"))

  • 相关阅读:
    Javascript判断多选框checkbox和单选钮是否选中
    怎么样察看经过编译过的代码exe或者dll文件
    人才的识与用
    Asp.net中把DataTable或DataGrid导出为Excel
    ASP.NET 2.0 绑定高级技巧
    c#文件操作(二)
    ASP.NET 2.0 正式版中callback的一些变化+使用示例
    用人之道
    我常用的js
    NUnit2.0详细使用方法
  • 原文地址:https://www.cnblogs.com/bing521meng/p/10791566.html
Copyright © 2020-2023  润新知