stream流运算:求和(基本数据类型,BigDecimal),多字段乘积求和,提取对象属性集合

求和

求和(基本数据类型)

int priceSum= list.stream().mapToInt(Order::getPrice).sum();
double priceSum= list.stream().mapToDouble(Order::getPrice).sum();
long priceSum= list.stream().mapToLong(Order::getPrice).sum();

求和(BigDecimal)

BigDecimal priceSum =list.stream().map(Order::getPrice).reduce(BigDecimal.ZERO,BigDecimal::add);

多字段乘积求和(基本数据类型)

int prices = list.stream().mapToInt(x-> x.getprice * x.getTotal).sum();

多字段乘积求和(BigDecimal)

BigDecimal prices = list.stream().map(x-> x.getPrice().multiply(new BigDecimal(x.getTotal()))).reduce(BigDecimal.ZERO, BigDecimal::add);

提取对象属性集合

List<Long> userIds= userList.stream().map(User::getUserId).collect(Collectors.toList());

猜你喜欢

转载自blog.csdn.net/poker_zero/article/details/126491476
今日推荐