[Java]‘语法糖’系列(三)之集合流操作(Stream)[笔记
发布时间
阅读量:
阅读量
> 集合流操作
此处所指的流与IO流存在差异,它是JDK8中对Collection对象功能进行增强的一种实现方式。
从个人角度来看,作为基础知识,IBM上的>这篇文章<内容已经非常详尽,目前难以找到比其更优的资料。因此,本文仅作要点式的记录与整理。
> 流操作
流操作主要可以划分为两种类型:
- Intermediate(中间操作):一个流可以在其后跟随零个或多个Intermediate操作。此类操作的主要作用是开启流,并对数据进行一定程度的映射或过滤,随后生成一个新的流供后续操作使用。这类处理方式具有惰性特征(lazy),即仅调用该类方法时,并不会立即触发对流的遍历过程。
- Terminal(终端操作):每个流只能包含一个Terminal操作。一旦执行该操作,流将被完全消耗完毕,无法再继续进行其他处理。因此,Terminal操作必定是整个流程中的最后一个步骤。只有当Terminal操作被实际执行时,才会真正启动对流的遍历过程,并最终生成结果或引发某种副作用。
所有转换类的操作均具备惰性执行的特点。所谓惰性执行意味着,在多次转换过程中,这些转换并不会立即被执行,而是在遇到终端操作之后才会依次进行处
全部评论 (0)
还没有任何评论哟~
