Java Stream Sum BigDecimal and Int on Object

tanut aran
Apr 21, 2024

--

Code sample

What we are trying to sum the BigDecimal and int on using Java stream

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class DecimalDemo {

public record Budget(
int amountInt,
BigDecimal amountDecimal) {
}

public static void main(String[] args) {
List<Budget> budgets = new ArrayList<Budget>();
budgets.add(new Budget(100, new BigDecimal("100.11")));
budgets.add(new Budget(200,new BigDecimal("200.22")));
budgets.add(new Budget(300,new BigDecimal("300.33")));

System.out.println("Start");
System.out.println(budgets);
int addInt = budgets.stream().mapToInt(Budget::amountInt).sum();
BigDecimal addBigDecimal = budgets.stream().map(Budget::amountDecimal).reduce(BigDecimal.ZERO, BigDecimal::add);
System.out.println("Result");
System.out.println(addInt);
System.out.println(addBigDecimal);
}

}

Running

--

--

tanut aran
tanut aran

Written by tanut aran

Co-founder and Coder at work !

No responses yet