Java 8 Stream forEach の中断または復帰
拡張された for-each ループを使用した Iterables に対する従来の Java 反復では、ループを制御できます。ブレークまたはリターンを使用してフローします。ただし、Java 8 ストリームはラムダ式内で内部反復を採用しているため、多くの人が同様の機能をどのように実現すればよいのか疑問に思っています。
ストリームでの 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 中国語 Web サイトの他の関連記事を参照してください。