Collectors
类包含许多常见聚合操作的因素,比如累加到集合中、字符串串联、缩减和其他汇总计算,以及创建汇总表(通过groupingBy()
)。
内置收集器
收集器 | 行为 |
---|---|
toList() | 将元素收集到一个List 中。 |
toSet() | 将元素收集到一个Set 中。 |
toCollection(Supplier<Collection>) | 将元素收集到一个特定类型的Collection 中。 |
toMap(Function<T, K>, Function<T, V>) | 将元素收集到一个Map 中,依据提供的映射函数将元素转换为键值。 |
summingInt(ToIntFunction<T>) | 计算将提供的int 值映射函数应用于每个元素(以及long 和double 版本)的结果的总和。 |
summarizingInt(ToIntFunction<T>) | 计算将提供的int 值映射函数应用于每个元素(以及long 和double 版本)的结果的sum 、min 、max 、count 和average 。 |
reducing() | 向元素应用缩减(通常用作下游收集器,比如用于groupingBy )(各种版本)。 |
partitioningBy(Predicate<T>) | 将元素分为两组:为其保留了提供的预期的组和未保留预期的组。 |
partitioningBy(Predicate<T>, Collector) | 将元素分区,使用指定的下游收集器处理每个分区。 |
groupingBy(Function<T,U>) | 将元素分组到一个Map 中,其中的键是所提供的应用于流元素的函数,值是共享该键的元素列表。 |
groupingBy(Function<T,U>, Collector) | 将元素分组,使用指定的下游收集器来处理与每个组有关联的值。 |
minBy(BinaryOperator<T>) | 计算元素的最小值(与maxBy() 相同)。 |
mapping(Function<T,U>, Collector) | 将提供的映射函数应用于每个元素,并使用指定的下游收集器(通常用作下游收集器本身,比如用于groupingBy )进行处理。 |
joining() | 假设元素为String 类型,将这些元素联结到一个字符串中(或许使用分隔符、前缀和后缀)。 |
counting() | 计算元素数量。(通常用作下游收集器。) |