collectors 求和_Java Stream教程之数字求和

前言

在本教程中我们将演示多种通过Stream API对数字求和的方法。

为了简单起见,我们在示例中只使用整数int类型作演示,但这些方法同样适用于long和double数据类型。

2. 使用Stream.reduce()方法

Stream.reduce()方法的参数如下:

第一个参数,初始值

第二个参数,接受一个BiFunction作为参数,如果你不了解BiFunction,请查看本站的 BiFunction教程

在下例中BiFunction接受a,b两个参数,然后返回a+b:

List integers = Arrays.asList(1, 2, 3, 4, 5);

Integer sum = integers.stream()

.reduce(0, (a, b) -> a + b);

// 下面是等价的写法:a+b替换为方法引用Integer::sum

List integers = Arrays.asList(1, 2, 3, 4, 5);

Integer sum = integers.stream()

.reduce(0, Integer::sum);

3. 使用Stream.collect()方法

List integers = Arrays.asList(1, 2, 3, 4, 5);

Integer sum = integers.stream()

.collect(Collectors.summingInt(Integer::intValue));

与上面类似,Collectors类还提供sumsumLong()和summingDouble()方法分别用于计算long和double类型的和。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值