Reputation: 1330
I want to adding up fix value into list of big decimals. lets say i have below list of big decimal with values
[10, 20, 30, 40]
Now want to add fix value lets say 10
into each item into list so resulting list would be
[20, 30, 40, 50]
Current approach :
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);
}
Is there any better way or alternative way using java 8?
Upvotes: 4
Views: 653
Reputation: 28163
In java 8 it's as simple as
bigDecimals.replaceAll(BigDecimal.TEN::add);
See the javadoc for List#replaceAll
Upvotes: 5
Reputation: 120978
That's a simple map operation...
bigDecimals.stream().map(bd -> bd.add(BigDecimal.TEN)).forEach(System.out::println);
Upvotes: 1