首頁 > Java > java教程 > 主體

如何從 Java 8 Stream forEachLike 迭代中中斷或返回?

Linda Hamilton
發布: 2024-10-24 01:42:02
原創
502 人瀏覽過

How to Break or Return from Java 8 Stream forEachLike Iteration?

從Java 8 Stream forEach 中斷或返回

與使用增強的for-each 循環的外部迭代一樣,使用Java 8 lambda 表達式的內部迭代需要打破或返回的不同方法。可以使用break語句或傳回目前物件來跳出for-each迴圈。

在流forEach的情況下,不能使用break或return。原因是 forEach 是一個終端操作,這意味著它對每個元素執行副作用,並且不傳回任何值。

從Stream forEach 中斷或返回的替代方案

相反,應考慮使用其他提供不同功能的流方法:

  • filter(): 過濾掉不符合指定條件的元素並取得包含過濾元素的新流。
  • findFirst(): 擷取滿足給定謂詞的第一個元素。如果沒有元素匹配,則傳回一個空的Optional。
  • anyMatch():檢查是否有任何元素與某個謂詞相符。
  • collect(): 將流簡化為單一值、集合或其他結果。

範例程式碼

使用filter() 找出第一個元素滿足條件:

<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 Stream forEachLike 迭代中中斷或返回?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板