Java 中的 Lambda 表达式与流操作深入解析
1. 流的归约操作
流的归约操作是将流中的元素进行合并,得到一个单一的结果。以计算流中元素的乘积为例,其评估过程如下:
3 * 10 --> 30
30 * 6 --> 180
180 * 1 --> 180
180 * 4 --> 720
720 * 8 --> 5,760
5,760 * 2 --> 11,520
11,520 * 5 --> 57,600
57,600 * 9 --> 518,400
518,400 * 7 --> 3,628,800
可以使用双参数的 reduce 方法来实现:
IntStream.of(values)
.reduce(1, (x, y) -> x * y)
不过,如果流为空,这种 reduce 方法会返回标识值(这里是 1),这可能不是空流的预期结果。
2. 计算流元素的平方和
计算流元素的平方和可以分解为两个任务:
- 对每个流元素进行平方操作。
- 对平方后的结果进行求和。
可以使用 map 和 sum 方法来实现这个操作:
In
超级会员免费看
订阅专栏 解锁全文
923

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



