從Java 8 Stream forEach 中斷或回傳
在使用增強的for-each 迴圈對Iterables 進行傳統Java 迭代中,我們可以控制循環使用中斷或返回來流動。然而,Java 8 流在 lambda 表達式中使用內部迭代,讓許多人想知道如何實現類似的函數。
流中 Break 或 Return 的替代方案
break 的存在或在流處理中返回不建議。相反,流提供了更有效地滿足特定用例的替代方法:
查找第一個元素匹配謂詞:
如果要尋找符合特定條件的第一個元素,請使用findFirst()。流將在遇到匹配元素時終止。
<code class="java">Optional<SomeObject> result = someObjects.stream().filter(obj -> some_condition_met).findFirst();</code>
檢查元素是否存在:
元素是否滿足條件,請使用anyMatch(),而無需迭代整個集合。
<code class="java">boolean result = someObjects.stream().anyMatch(obj -> some_condition_met);</code>
這些特定於流的方法為各種場景提供受控迭代和最佳化效能。
以上是如何在 Java 8 流中實現中斷或返回功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!