目录
- list stream: reduce的使用
- reduce 一共有三种实现
- 1、第一种
- 2、第二种
- 3、第三种
- reduce 一共有三种实现
- reduce的基本用法
- 1、初识 reduce 的基本 api
- 2、应用场景测试
list stream: reduce的使用
stream 中的 reduce 的主要作用就是stream中元素进行组合,组合的方式可以是加减乘除,也可以是拼接等,接下来我们就通过实例来看一下reduce的用法:
reduce 一共有三种实现
1、第一种
?
1 |
|
该实现有起始值 identity, 起始值的类型决定了返回结果的类型,通过 accumulator 操作最终得到 identity 类型的返回结果
2、第二种
?
1 |
|
该实现只有一个参数 accumulator , 由于没有办法确定具体的返回结果,所以该方法返回的是 Optional
3、第三种
?
1 |
|
该方法有三个参数 identity 、 accumulator 、combiner ,该方法通过 identity 和 accumulator的处理得出最终结果,结果和第一个参数的类型相同
首先把我们下面操作的这个实体对象先放在这里
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
用来求和,如下所示是四种不同的方式来获取User对象中的age只和,其中两种是通过reduce来进行求和
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
用来求最大最小值,如下所示是求User中age的最大最小值
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
用来拼接字符串,如下所示:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
计算平均值:计算User对象中age字段的平均值
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
reduce的基本用法
1、初识 reduce 的基本 api
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
2、应用场景测试
求所有学生的成绩之和。
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://zhangzehai.blog.csdn.net/article/details/106369542
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/282137.html