java8 bigdecimal类型的list求和
在java 8中,如果你有一个list<bigdecimal>并且想要计算这个列表中所有bigdecimal数值的总和,你可以使用stream api的reduce方法。
reduce方法接受一个二元操作符,用于组合流中的元素。
对于bigdecimal类型,你应该使用bigdecimal类中的add方法来实现求和。
对list<bigdecimal>求和示例
import java.math.bigdecimal;
import java.util.arrays;
import java.util.list;
public class bigdecimalsumexample {
public static void main(string[] args) {
list<bigdecimal> list = arrays.aslist(
new bigdecimal("10.5"),
new bigdecimal("15.75"),
new bigdecimal("20.35"),
new bigdecimal("5.50")
);
bigdecimal sum = list.stream()
.reduce(bigdecimal.zero, bigdecimal::add);
system.out.println("sum: " + sum); // 输出: sum: 52.10
}
}在这个例子中
我们首先创建了一个包含几个bigdecimal对象的列表。
然后,我们使用stream()方法将列表转换为一个流,接着调用reduce方法。
- reduce方法的第一个参数是总和的初始值(在这个例子中是bigdecimal.zero)
- 第二个参数是一个bigdecimal::add方法引用,它用于将流中的每个元素与累加器中的当前值相加
最后,我们将得到的总和打印出来。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论