Java 8 语言特性之流与并发编程
1. 流的基本概念
流是一系列数据元素,支持顺序和并行的聚合操作。与 Java 中的集合专注于数据存储和访问不同,流主要关注对数据的计算。流本身不存储数据,它从数据源获取数据,数据源通常是集合,也可以是文件 I/O 通道、函数等,甚至可以基于能生成无限数据元素的数据源。
流通过操作连接形成管道,支持两种类型的操作:中间操作和终端操作。中间操作会产生另一个流,可作为下一个中间操作的输入流;终端操作则以单个值的形式产生结果,并且在调用终端操作后,流不能再被重用。
部分流操作被称为短路操作,这类操作不一定需要处理流中的所有数据。例如, findAny 就是一个短路操作,它会查找流中满足指定谓词的任意元素,一旦找到,就会丢弃流中剩余的元素。
流具有惰性特性,即按需处理数据。当对流调用中间操作时,数据不会立即处理,只有调用终端操作时,才会处理流中的数据。
2. 流的创建
可以通过多种方式创建流:
- 从值创建 :使用 Stream.of() 方法,例如 Stream.of("a", "b", "c") 。
- 空流 :使用 Stream.empty() 创建一个空流。
- 从函数创建 :使用 Stream.generate() 或 Stream.iterate() 方法,
超级会员免费看
订阅专栏 解锁全文

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



