diff --git a/6-Stream Pipelines.md b/6-Stream Pipelines.md index 35e5398..0cd90d8 100644 --- a/6-Stream Pipelines.md +++ b/6-Stream Pipelines.md @@ -121,7 +121,7 @@ for(String str : strings){ 注意这里使用的是“*操作(operation)*”一词,指的是“Stream中间操作”的操作,很多Stream操作会需要一个回调函数(Lambda表达式),因此一个完整的操作是<*数据来源,操作,回调函数*>构成的三元组。Stream中使用Stage的概念来描述一个完整的操作,并用某种实例化后的*PipelineHelper*来代表Stage,将具有先后顺序的各个Stage连到一起,就构成了整个流水线。跟Stream相关类和接口的继承关系图示。 -还有*IntPipeline, LongPipeline, DoublePipeline*没在图中画出,这三个类专门为三种基本类型(不是包装类型)而定制的,跟*ReferencePipeline*是并列关系。图中*Head*用于表示第一个Stage,即调用调用诸如*Collection.stream()*方法产生的Stage,很显然这个Stage里不包含任何操作;*StatelessOp*和*StatefulOp*分别表示无状态和有状态的Stage,对应于无状态和有状态的中间操作。 +还有*IntPipeline, LongPipeline, DoublePipeline*没在图中画出,这三个类专门为三种基本类型(不是包装类型)而定制的,跟*ReferencePipeline*是并列关系。图中*Head*用于表示第一个Stage,即调用诸如*Collection.stream()*方法产生的Stage,很显然这个Stage里不包含任何操作;*StatelessOp*和*StatefulOp*分别表示无状态和有状态的Stage,对应于无状态和有状态的中间操作。 Stream流水线组织结构示意图如下: