1.BigDecimal求和
对象字段求和
List<Car> list=new ArrayList<>();
BigDecimal sumOfBigDecimals = list.stream().filter(Objects::nonNull).filter(c -> c.getMiles() != null).map(Car::getMiles).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal集合求和
List<BigDecimal> list=new ArrayList<>();
BigDecimal sumOfBigDecimals = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
2.int求和
数组求和
int[] arr = {1, 2, 3};
int sum = Arrays.stream(arr).sum();
集合求和
List<Integer> list= new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
int sum = list.stream().reduce(Integer::sum).orElse(0);
对象字段求和
List<User> list= new ArrayList<>();
User hzx1 = new User(1, "hzx1");
User hzx2 = new User(2, "hzx2");
User hzx3 = new User(8, "hzx3");
// 将三个元素同时写入集合
Collections.addAll(list, hzx1, hzx2, hzx3);
// 计算元素之和
int sum = list.stream().mapToInt(User::getId).sum();