reduce
reduce操作可以从一组值中生成一个值。
例子:如何通过reduce操作对Stream中的数字求和,以0作为起点,一个空Stream的求和结果,每一步都将Stream中的元素累加至sum,遍历Stream中的所有元素,sum的值就是所有元素的和。
使用for循环实现:
private void print() {
System.out.println("使用for循环:");
List<Integer> nums = Arrays.asList(5,10,15,20);
int sum = 0;
for (Integer num : nums) {
sum += num;
}
System.out.println(sum);
}
使用reduce实现:
private void test() {
System.out.println("使用reduce实现:");
int result = Stream.of(5,10,15,20)
.reduce(0,(sum,x) -> sum + x);
System.out.println(result);
}
输出结果:
使用reduce函数式编程方式,求一个数字列表{2,4,8,12}的乘积。