一、Stream 简介
Stream 是对数据集合的一条流水线式处理描述,而不是数据本身。
- Stream 不存储数据
- Stream 描述对数据的操作
- 不会修改原始集合
- 每次执行都会重新计算
二、Stream 的三段式结构
Stream 操作通常由以下三部分组成:
- 数据源:提供数据流的起点
- 中间操作:对数据进行转换或过滤(可以有多个)
- 终端操作:产生最终结果
示例结构如下所示:
rooms.stream() // ① 数据源
.filter(...) // ② 中间操作
.map(...) // ② 中间操作
.collect(Collectors.toList()); // 终端操作
这种链式调用方式使得代码更加清晰且易于理解。

