Java 8 流迭代:中斷或返回
在傳統的Java 迭代中,我們在增強的for-each 循環中使用中斷或返回來控制外部迭代的流程。我們如何在 Java 8 流的內部迭代中實現類似的行為?
外部迭代控制
<code class="java">for (SomeObject obj : someObjects) { if (some_condition_met) { break; // Exit the loop early } }</code>
內部迭代
將forEach 與lambda 表達式結合使用,我們需要一體使用種替代方法。需要注意的是,forEach 是針對副作用而設計的,並沒有提供明確的方式來中斷或從迭代中返回。
替代解決方案
而不是使用forEach ,考慮使用其他提供更精確控制的流方法:
<code class="java">Optional<SomeObject> result = someObjects.stream() .filter(obj -> some_condition_met) .findFirst();</code>(此最佳化避免了整個整個集合。)
以上是如何控制Java 8流迭代的流程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!