参考文档

 

Java Stream reduce:http://zetcode.com/java/streamreduce/

Java8 中reduce的基本使用:https://www.cnblogs.com/qinhao517/p/9197885.html

reduce

T reduce(T identity, BinaryOperator<T> accumulator);

计算元素总值示例——Integer
List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);
Integer reduce = integers
     .stream()
     .reduce(0, Integer::sum);
// 15
System.out.println(reduce);

计算元素总值示例——安全的转换为BigDecimal类型后再计算

List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);
BigDecimal reduce = integers
        .stream()
        .map(String::valueOf)
        .map(BigDecimal::new)
        .reduce(BigDecimal.ZERO, BigDecimal::add);
// 15
System.out.println(reduce);