我有一个简单的课程:
class Simple {
private String count;
private BigDecimal amount;
private String label;
}
并有一个列表:List<Simple> simples = new ArrayList<>();
如何在Java 8中使用Lambda将所有列表中的所有简单数量相加?
答案 0 :(得分:13)
使用Stream和reducer非常容易:
BigDecimal sum = simples
.stream()
.map(Simple::getAmount)
.reduce(BigDecimal::add)
.get();
答案 1 :(得分:2)
尝试:
BigInteger sum = simples.stream()
.map(Simple::getAmount)
.reduce(BigInteger.ZERO, BigInteger::add);