天天看点

java 8 Lamda 求 List 中 Bigdecimal类型的各种值求最大值求最小值求和求平均值

java 8 Lamda 求 List 中 Bigdecimal类型的各种值

  • 求最大值
  • 求最小值
  • 求和
  • 求平均值

求最大值

BigDecimal max = userList.stream().map(User::getWeight).max((x1, x2) -> x1.compareTo(x2)).get();
           

求最小值

BigDecimal min = userList.stream().map(User::getWeight).min((x1, x2) -> x1.compareTo(x2)).get();
           

求和

BigDecimal sum = userList.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
           

求平均值

BigDecimal average = userList.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(userList.size()), 2, BigDecimal.ROUND_HALF_UP);