- 【认真读完Collector的JDK源码上的注释文档】
- collect:收集器
- Collector作为collect方法的参数
- Collector是一个接口,它是一个可变的汇聚操作,将输入元素累积到一个可变的结果容器中;它会在所有元素都处理完毕后,将累积的结果转化为一个最终的表示(这是一个可选操作);它支持串行与并行两种方式执行。
- Collectors本身提供了关于Collector得常见汇聚实现,Collectors本身实际上是一个工厂。
- 为了确保串行与并行操作结果的等价性,Collector函数需要满足两个条件:identity(同一性)和association(结合性)
- a == combiner.apply(a,supplier.get()) ====> (List<T> list1,List<T> list2)->{list1.addAll(list2); return list1}
- 函数式编程最大的特点:表示做什么,而不是如何做。
- Collectors类中包含由Collector接口的简单实现类:
Collectors源文件中的内部类CollectorImpl实现了Collector接口:/** * Simple implementation class for {@code Collector}. * * @param <T> the type of elements to be collected * @param <R> the type of the result */ static class CollectorImpl
Java新特性(4)collect深度解析
最新推荐文章于 2025-05-10 21:53:15 发布
本文详细解读了Java中的Collector接口及其在collect方法中的作用,解释了Collector如何将输入元素累积到结果容器,并提供了串行和并行执行的支持。通过分析Collectors工厂类,阐述了Collector的同一性和结合性条件,以及函数式编程的特点。同时,举例介绍了Collectors源文件中CollectorImpl的实现,帮助理解Collector的实际应用。

最低0.47元/天 解锁文章
369

被折叠的 条评论
为什么被折叠?



