实体
public class ApAccountBegin {
//数量
private BigDecimal beginQuantity;
//金额
private BigDecimal beginBalance;
//汇率
private BigDecimal rate;
public BigDecimal getBeginQuantity() {
return beginQuantity;
}
public void setBeginQuantity(BigDecimal beginQuantity) {
this.beginQuantity = beginQuantity;
}
public BigDecimal getBeginBalance() {
return beginBalance;
}
public void setBeginBalance(BigDecimal beginBalance) {
this.beginBalance = beginBalance;
}
public BigDecimal getRate() {
return rate;
}
public void setRate(BigDecimal rate) {
this.rate = rate;
}
}
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal("20");
ArrayList<ApAccountBegin> list = new ArrayList<>(10);
ApAccountBegin apAccountBegin = new ApAccountBegin();
apAccountBegin.setBeginQuantity(bigDecimal);
apAccountBegin.setBeginBalance(bigDecimal);
apAccountBegin.setRate(new BigDecimal("1.00"));
for(int i=1;i<=10;i++){
list.add(apAccountBegin);
}
//累加求和计算数量
BigDecimal reduce = list.stream().map(ApAccountBegin::getBeginQuantity).reduce(BigDecimal.ZERO,BigDecimal::add);
//累加求和计算金额 汇率*金额
BigDecimal reduce1 = list.stream().map(a->a.getBeginBalance().multiply(a.getRate())).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println(reduce);
System.out.println(reduce1);
//另一种写法
//System.out.println(list.stream().map(a->a.getBeginBalance().multiply(a.getRate())).reduce((x,y)->x.add(y)).get());
}