BigDecimal泛型操作
List<BigDecimal> list = new ArrayList<BigDecimal>() {{
add(new BigDecimal("1"));
add(new BigDecimal("2"));
add(new BigDecimal("3"));
add(new BigDecimal("4"));
}};
BigDecimal max = list.stream().max(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
BigDecimal min = list.stream().min(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
BigDecimal sum = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal subTract = list.stream().reduce(BigDecimal::subtract).orElse(BigDecimal.ZERO);
BigDecimal multply = list.stream().reduce(BigDecimal::multiply).orElse(BigDecimal.ZERO);
BigDecimal average = list.stream().reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(list.size()), 2, BigDecimal.ROUND_HALF_UP);
对象泛型BigDecimal字段操作
List<User> list = Lists.newArrayList();
BigDecimal max = list.stream().map(SavingData::getEnvTemp).max(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
BigDecimal min = list.stream().map(SavingData::getEnvTemp).min(BigDecimal::compareTo).orElse(BigDecimal.ZERO);
BigDecimal sum = list.stream().map(SavingData::getEnvTemp).reduce(BigDecimal.ZERO, BigDecimal::add);
BigDecimal subtract = list.stream().map(SavingData::getEnvTemp).reduce(BigDecimal::subtract).orElse(BigDecimal.ZERO);
BigDecimal multply = list.stream().map(SavingData::getEnvTemp).reduce(BigDecimal::multiply).orElse(BigDecimal.ZERO);
BigDecimal average = list.stream().map(SavingData::getEnvTemp).reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(list.size()));
对象泛型BigDecimal字段转Double类型操作
List<User> list = Lists.newArrayList();
Double max = list.stream().mapToDouble(v -> v.getEnvTemp().doubleValue()).max().orElse(0D);
Double min = list.stream().mapToDouble(v -> v.getEnvTemp().doubleValue()).min().orElse(0D);
Double sum = list.stream().mapToDouble(v -> v.getEnvTemp().doubleValue()).sum();
Double average = list.stream().mapToDouble(v -> v.getEnvTemp().doubleValue()).average().orElse(0D);