stream对实体类的数值型字段求和

1.首先创建一个实体类:

import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class Bean {
    private long num1;
    private double num2;
}

2.然后将实体类装到list里面,并做如下处理:

import com.google.common.collect.Lists;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        Bean bean1 = new Bean(1, 2);
        Bean bean2 = new Bean(4, 5);
        Bean bean3 = new Bean(7, 8);
        List<Bean> list = Lists.newArrayList(bean1, bean2, bean3);
        
        long total1 = list.stream().map(Bean::getNum1).reduce(Long::sum).get();
        double total2 = list.stream().map(Bean::getNum2).reduce(Double::sum).get();
    }
}

3.查看打印结果,我们希望看到的结果为 total1 = 12; total2 = 15.0

total1 = 12
total2 = 15.0

结果正确!

4.总结

自己最近在做一个接口需求,数据分别需要从es和druid的内置sql里面查询数据,所以需要分别从查询出来的list里面合并某一指标的数据,由于量级很大所以用到了该方法,感觉很方便,故写此博客。也是自己的第一篇,希望大家多多包涵,指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值