| 形态 | filter → map → collect/reduce |
|---|---|
| 收益 | 声明式表达意图,减少索引与临时变量 |
| 注意 | 调试断点与短路的差异 |
示例
示例
// 循环版
List<String> names = new ArrayList<>();
for (Office o : offices) if (o.isChina()) names.add(o.city());
// 管道版
return offices.stream()
.filter(Office::isChina)
.map(Office::city)
.toList();