Stream瞭解

wzpro發表於2024-06-10

Stream流是延遲處理,只有宣告瞭終端操作,中間操作才會生效。
流的執行順序,一個走完整個流處理過程,再處理下一個元素。
這樣設計出於效能的考慮,anyMatch查詢第一個匹配的元素,如果查詢到直接返回,再後面的元素我們沒有任何處理。
對於sorted操作,必須一次性處理完所有處理,sorted後面的操作才會一個一個處理。

在並行流中,forEach會以任意的順序遍歷。
在並行流中,forEachOrderd(),會按照流中的順序,這個方法加喪失並行處理部分甚至全部的最佳化。

相關文章