Collectors
类的静态工厂方法能够创建的所有收集器
工厂方法 | 返回类型 | 用于 |
toList | List<T> | 把流中所有的项目收集到一个List |
toSet | Set<T> | 把流中所有的项目收集到一个Set,删除重复的项 |
toCollection | Collection<T> | 把流中所有的项目收集到给定的供应源创建的集合 |
counting | Long | 计算流中元素的个数 |
summingInt | Integer | 对流中项目的一个整数属性求和 |
averagingInt | Double | 计算流中项目Integer属性的平均值 |
summarizingInt | IntSummaryStatistics | 收集关于流中项目Integer属性的统计值,例如,最大,最小,总和与平均值 |
joining | String | 连接对流中每个项目调用toString方法所生成的字符串 |
maxBy | Optional<T> | 一个包裹流中按照给定的比较器选出最大的元素的Optional,或者如果流为空则为Optional.empty() |
minBy | Optional<T> | 一个包裹流中按照给定的比较器选出最小的元素的Optional,或者如果流中元素为空则为Optional.empty() |
reducing | 归约操作产生的类型 | 从一个作为累加器的初始值开始,利用BinaryOperator与流中元素逐个结合,从而将流归约为单个值 |
collectingAndThen | 转换函数返回的类型 | 包裹另一个收集器,对其结果应用转换函数 |
groupingBy | Map<K,List<T>> | 根据项目的一个属性的值对流中的项目作问组,并将属性值作为结果Map的键 |
partitioningBy | Map<Boolean,List<T>> | 根据流中每个项目应用谓词的结果来对项目进行分区 分区的好处在于保留了分区函数返回true或者false的两套流元素列表 |