Collectors

Collectors

  • Collect : 收集器
  • Collector 做为collect方法的参数
  • Collector是一个接口,他是一个可变的汇聚操作,将输入的元素积累到一个可变的结果容器内;他会在所有元素处理完毕后,将积累的结果转换为一个最终的表示(这是一个可选的操作),它支持穿行和并行两种方式
  • Collectors本身提供了关于Ccollect的常见汇聚实现,Collectorts本身实际上一个工厂.
  • Collector由四个函数组成
    • Supplier
      • 创建并返回一个新的结果容器
    • BiConsumer<A , T> (accumulator 累加器)
      • 将新的元素合并到一个结果容器(结果容器由Supplier创建)
    • BinaryOperator(combiner 结合)
      • 将两个结果容器合并为一个(并发)
    • Function<A,R>(finisher 整理)
      • 从中间累积的类型进行最终的转换
  • 为了确保串行和并行操作结果的等价性,Collector函数需要满足两个条件: identity(同一性)与associativty(结合性)
  • a == combiner.apply(a, supplier.get())
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值