前言
记录下reduce函数的简单用法,其用作从一个流中生成一个值。
具体应用
public static void main(String[] args) {
List<Integer> arrayList = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
System.out.println(arrayList); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
/**
* 求和
*/
Integer sum = arrayList.stream().reduce(Integer::sum).orElse(0);
System.out.println(sum); // 45
/**
* 求最大值
*/
Integer max = arrayList.stream().reduce(Integer::max).orElse(0);
System.out.println(max); // 9
/**
* 求最小值
*/
Integer min = arrayList.stream().reduce(Integer::min).orElse(0);
System.out.println(min); // 1
/**
* 逻辑运算
* 求最小值
*/
Integer num = arrayList.stream()
.reduce((pre, pro) -> pre > pro ? pro : pre)
.orElse(0);
System.out.println(num); // 1
}