将 List<BigDecimal> 求和
public static void main(String[] args) {
List<BigDecimal> list = new ArrayList<>();
// 假数据
list.add(BigDecimal.valueOf(1.1));
list.add(BigDecimal.valueOf(1.2));
list.add(BigDecimal.valueOf(1.3));
list.add(BigDecimal.valueOf(1.4));
// 流式操作
BigDecimal decimal = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
// 打印结果
System.out.println(decimal);
}
list.stream().reduce() 1、stream 中的 reduce 的主要作用就是将[stream]中元素进行组合,组合的方式可以是加减乘除,也可以是拼接等。 2、BigDecimal.ZERO就像new BigDecimal(0),它是一个预定义的常量。 3、reduce 一共有三种实现:
而我们使用的方便是第一种reduce的实现,需要传入一个BinaryOperator接口,继承了BiFunction接口 简单说 就是需要传入2个同类型参数,返回同类型的参数