List 里的BigDecimal金额求和

List lmtLnDueRel = lmtLnDueRelService.findTreeByRootredisll(lmtLockApp.getAmtNo());

这是查询语句 lmtLnDueRel 是查询返回成功后的 怎么样才可以把里面的金额相加?

可以使用流:

package test;

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class T {
    public static void main(String[] args) {
        List<Map<String, Object>> list = new ArrayList<>();
        for (int i = 0; i < 5; i++) {

            list.add(new HashMap(1) {{
                put("price", new BigDecimal(1));
            }});
        }
        BigDecimal sum = list.stream().map(item -> {
            {
                return new BigDecimal(item.get("price").toString());
            }
        }).reduce(BigDecimal.ZERO, BigDecimal::add);
        System.out.println(sum);
    }
}


你list里面是什么类型的
为什么不直接用sql求和