四Collectors
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了四Collectors相关的知识,希望对你有一定的参考价值。
参考技术A 将Stream所有元素转化成list集合将Stream所有元素转化成set集合。
使用toSet 和toList 不能自定义Collection实现,toCollection可以指定
将Stream元素转成Map实例,需要keyMapper 和valueMapper
将Stream所有元素收集后执行指定动作
根据指定方式链接元素
计量Stream的元素个数
返回统计信息
平均信息
求和信息
返回最大或最小元素
根据属性分组,将结果存储在Map中。
跟 groupingBy 相似,但是特殊在key是Boolean类型,value是Collecitons
将最大和最小元素使用依次操作就可以实现
(1)需要实现的接口
public interface Collector<T, A, R> ...
T -可供收集的物体类型,
A -可变累加器对象的类型,
R -最终结果的类型。
(2)例子
(3)由于需要用于内部收集操作处理的可变集合,所以不能使用 不变集 为此,我们需要使用其他一些可变集合或任何其他类,这些类可以为我们临时对象。 在这种情况下,我们将继续使用 ImmutableSet.Builder 现在我们需要实现5种方法:
(4)详解:
supplier() 方法 返回 一个Supplier实例 用来生成一个空的accumulator 实例
accumulator()方法 返回一个函数实例用来在一个实例中添加新的元素
combiner() 方法返回一个函数用来合并两个实例
finisher() 用来转换类型
characteristics() 方法提供附加信息流
(5)实现类如下
(6)测试:
java Collectors.groupingBy(),Collectors.mapping() - grupowanietiveługpola+przekształcenieobiektugrup
以上是关于四Collectors的主要内容,如果未能解决你的问题,请参考以下文章