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里面合并某一指标的数据,由于量级很大所以用到了该方法,感觉很方便,故写此博客。也是自己的第一篇,希望大家多多包涵,指正。