将修复值添加到bigdecimal列表中

时间:2017-02-23 06:02:33

标签: java java-8 bigdecimal

我想将修正值加到大小数列表中。 假设我在下面的大小数列表中有值

[10, 20, 30, 40]

现在想要将修复值添加到每个项目中,然后将10添加到列表中,以便生成列表

[20, 30, 40, 50]

当前方法

public static void main(String... args) {
        List<BigDecimal> bigDecimals = new ArrayList<>();

        bigDecimals.add(new BigDecimal(10));
        bigDecimals.add(new BigDecimal(20));
        bigDecimals.add(new BigDecimal(30));
        bigDecimals.add(new BigDecimal(40));
        System.out.println(bigDecimals);

        for(int i=0;i<bigDecimals.size();i++)
        {
            bigDecimals.set(i, bigDecimals.get(i).add(new BigDecimal("10")));
        }

        System.out.println(bigDecimals);
    }

有没有更好的方法或替代方式使用java 8?

2 个答案:

答案 0 :(得分:5)

在java 8中,它就像

一样简单
bigDecimals.replaceAll(BigDecimal.TEN::add);

请参阅List#replaceAll的{​​{3}}

答案 1 :(得分:1)

这是一个简单的地图操作......

bigDecimals.stream().map(bd -> bd.add(BigDecimal.TEN)).forEach(System.out::println);