[英]stateful and stateless methods of stream
在界面Stream中:
中間操作可分為有狀態和無狀態。 它們會影響並行Stream的結果。
只有兩個終端操作是非確定性方法:findAny()和forEach(Consumer)。 它們會影響並行Stream的結果。
如果中間無狀態操作執行延遲操作,則可能產生副作用。 這會影響並行Stream的結果。
中間操作可分類為:
有狀態
無狀態
這是我的兩個問題:
無狀態中間方法
有狀態的中間方法
這些規則是否正確?
非常感謝!
一種。
我想條件1和2都是正確的。 我想添加一些操作。
reduce
也是有狀態操作的一部分。
forEach
是無國籍行動的一部分。
請注意,無狀態操作如果產生副作用,可能會變為有狀態。
第三種說法並不完全正確。 如果訂購了一個流並且我們並行處理它,那么當與無狀態操作一起使用時,該流將保持有序。 這就是為什么我們需要在流上調用unordered()
方法來使其無序並提高效率。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.