自定义收集器Collector

一、自定义收集器,有时候Collectors类的收集器不能满足需求,需要我们自定义收集器,下面我们来自定义一个收集器,首先我们看Collector接口有哪些方法:supplier()、accumulator()、combiner()、finisher()、characteristics()。从方法大概也知道每个方法的作用。收集器的作用是做一些归约操作。
1、supplier()返回一个Supplier的函数接口,主要是提供操作的实例。
2、accumulator()返回BiConsumer函数接口,主要是消费对象或者说处理对象的计算逻辑,这是个主要方法。
3、combiner()返回一个BinaryOperator函数接口,这是一个归约操作,把accumulator()方法处理后的数据进行归约或者说是整合。
4、finisher()返回一个Function函数接口,它的作用是把combiner()归约出来的流转换成另一个类型的流。
5、characteristics()返回set集合,标记这个收集器的一些特性。
二、我们实现一个简单的奇偶收集器,当然你可以实现更复杂的逻辑,我们只是为了展示如何自定义收集。
代码如下:
在这里插入图片描述
在这里插入图片描述
测试类代码如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上就是自定义收集器的使用。

猜你喜欢

转载自blog.csdn.net/u013326684/article/details/102708358