什么是reduce操作
聚合操作,中⽂意思是 “减少”
根据⼀定的规则将Stream中的元素进⾏计算后返回⼀个唯⼀的值
常⽤⽅法⼀:
Optional<T> reduce(BinaryOperator<T> accumulator);
accumulator 计算的累加器
例⼦: 第⼀个元素相加和第⼆个元素相加,结果再和第三个元素相加,直到全部相加完成
int value = Stream.of(1, 2, 3, 4, 5).reduce((item1, item2) -> item1+ item2).get();
常⽤⽅法⼆:
T reduce(T identity, BinaryOperator<T> accumulator);
identity ⽤户提供⼀个循环计算的初始值
accumulator 计算的累加器
例⼦: 100作为初始值,然后和第⼀个元素相加,结果在和第⼆个元素相加,直到全部相加完成
int value = Stream.of(1, 2, 3, 4,5).reduce(100, (sum, item) -> sum +item);
练习 : 求最⼤值
int value = Stream.of(1645, 234345, 32,44434,564534,435,34343542,212)
.reduce( (item1, item2) -> item1 > item2 ? item1 : item2 ).get();