TerminalOP接口

TerminalOP

说明文档

  • 一个在流管道中的操作,它会接收一个流作为输入,并且生成一个结果或产生副作用
  • 一个 TerminalOp 拥有一个输入类型和流模型和结果类型

  • 一个 TerminalOp 还拥有一组操作标识,用于描述操作如何处理流中的元素

    • 例如:短路、以指定顺序执行

  • 一个 TerminalOp 必须提供涉及流源的操作和一组中间操作的串行与并行的实现

方法

  • <P_IN> R evaluateSequential(PipelineHelper<E_IN> helper, Spliterator<P_IN> spliterator);

ForEachOp

ForEachOps 中的静态内部类

实现了 TerminalOp

说明文档

  • 计算一个流管道,并且讲输出发送给自身作为一个 TerminalSink
  • 元素会发送给任意一个线程

  • 若遍历是无序的,则发送时不依赖于特定的顺序

  • 此终止操作是无状态的

  • 对于并行的操作,每一个将要发送元素到同一个 TerminalSink 引用的 ForEachTask 的叶子实例,都会是当前类的一个实例

evaluateSequential 方法的返回值

  • return helper.wrapAndCopyInto(this, spliterator).get();

FindOps, MatchOps, ReduceOps

TerminalOp 的构造工厂,与 ForEachOps 类似

上一篇:注解基本概念


下一篇:java – 哪个集合 – 每个操作的分裂器都在迭代?