首页 新闻 搜索 专区 学院

stream reduce的用法是什么?

0
[已解决问题] 解决于 2021-01-29 16:07

int num =6;
IntStream zs =IntStream.rangeClosed(1,6);
int ok =zs.reduce(1,(a,b)->a*b);
System.out.println(ok);

reduce是什么意思,为什么要使用它

谷先生的主页 谷先生 | 初学一级 | 园豆:158
提问于:2021-01-27 09:07
< >
分享
最佳答案
1

reduce 简单来说就是为了做归并计算,即将stream中的元素,通过指定的函数完成计算,返回一个最终结果,其好处就是可以并行计算,充分利用CPU提高效率。

比如你问题中的这个,就相当于将所有数字相加求和。reduce是可以并行计算的,也就是可以充分利用CPU。这样也就要求reduce方法提供的函数,必须是无序执行时不影响结果的,满足交换律和结合律。

例如求和时,1 + 2 + 3 + 4 = (1+2) + (3+4)。

奖励园豆:5
。淑女范erり | 小虾三级 |园豆:951 | 2021-01-29 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册