Java8 reduce操作

首先我們看什么是reduce 模式:

Object accumulator = initialValue;

for (Object element : collection )

? ? ? ? accumulator = combine (accumulator ,element );

return accumulator;

首先給累積器賦初值,然后遍歷目標集合,使得每一個元素與累積器做運算,得到的結果刷新累積器,遍歷完成,返回累積器中的結果。這就是reduce 模式。

仔細想想,max 和 min,從集合中獲得最大值,最小值也可以使用reduce 模式實現(xiàn)。


下面我們看一下 java8 提供的reduce 接口,在stream.class 中,提供了三種形式的reduce 操作:

Optional<T> reduce (BinaryOperator<T> accumulator);

<U> U reduce(U identity, ? BiFunction<U,? super T, U> accumulator, BinaryOperator<U> combiner);

T reduce(T identity , ?BinaryOperator<T> accumulator);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容