1. 程式人生 > 其它 >java8 List<BigDecimal> 求最大、最小、交集、差集、乘集

java8 List<BigDecimal> 求最大、最小、交集、差集、乘集

List<BigDecimal> bigDecimalList = new ArrayList<BigDecimal>(){{
this.add(new BigDecimal("1"));
this.add(new BigDecimal("2"));
this.add(new BigDecimal("3"));
this.add(new BigDecimal("4"));
}};
// 最大值
final Optional<BigDecimal> bigDecimalMax = bigDecimalList.stream().max(BigDecimal::compareTo);
//最小值
final Optional<BigDecimal> bigDecimalMin = bigDecimalList.stream().min(BigDecimal::compareTo);
// 求和
final Optional<BigDecimal> bigDecimalSum = bigDecimalList.stream().reduce(BigDecimal::add);
// 求差
final Optional<BigDecimal> bigDecimalSubTract = bigDecimalList.stream().reduce(BigDecimal::subtract);
// 求乘
final Optional<BigDecimal> bigDecimalMultply = bigDecimalList.stream().reduce(BigDecimal::multiply);


System.out.println("BigDecimal Max : " + bigDecimalMax.orElse(new BigDecimal("0")));
System.out.println("BigDecimal Min : " + bigDecimalMin.orElse(new BigDecimal("0")));
System.out.println("BigDecimal Sum : " + bigDecimalSum.orElse(new BigDecimal("0")));
System.out.println("BigDecimal subTract : " + bigDecimalSubTract.orElse(new BigDecimal("0")));
System.out.println("BigDecimal multply : " + bigDecimalMultply.orElse(new BigDecimal("0")));