java8使用stream对集合进行求和,平均数,最大最小值方法

//1.对int类型list进行求和
Integer[] integerArray = {1, 2, 3, 4, 5, 10, 18, 20};
 
List<Integer> list = new ArrayList<>(Arrays.asList(integerArray));
 
IntSummaryStatistics summaryStatistics = list.stream().mapToInt((s) -> s).summaryStatistics();
System.out.println("-总和:" + summaryStatistics.getSum());
System.out.println("-平均数:" + summaryStatistics.getAverage());
System.out.println("--总个数:" + summaryStatistics.getCount());
System.out.println("-最大值:" + summaryStatistics.getMax());
System.out.println("-最小值:" + summaryStatistics.getMin());
 
 

//2.对list中的对象某个数值字段求和
List<User> userList = new ArrayList<>();
User user1 = new User();
user1.setAge(10);
userList.add(user1);
User user2 = new User();
user2.setAge(20);
userList.add(user2);
//写法1
int ageSum = userList.stream().collect(Collectors.summingInt(User::getAge));
System.out.println("年龄总和 :" + ageSum);
//写法2
int ageSumTwo = userList.stream().mapToInt(User::getAge).sum();
System.out.println("年龄总和2: " + ageSumTwo);
 
 
//3.对list中对象某个BigDecimal字段求和
 List<Lpn> lpnList = service.selectInvGroupBId(containerId());
 BigDecimal totalSku = 
             lpnList.stream().map(Lpn::getQty).reduce(BigDecimal.ZERO,BigDecimal::add);


来源于######

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焚目圣僧渡众生

你的 一角将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值