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를 람다 표현식과 함께 사용하려면 대안적인 접근 방식이 필요합니다. forEach는 부작용을 위해 설계되었으며 반복에서 중단하거나 반환하는 명시적인 방법을 제공하지 않는다는 점에 유의하는 것이 중요합니다.
대체 솔루션
forEach를 사용하는 대신 , 보다 정확한 제어를 제공하는 다른 스트림 방법 사용을 고려하십시오.
<code class="java">Optional<SomeObject> result = someObjects.stream() .filter(obj -> some_condition_met) .findFirst();</code>
(이 최적화는 전체 컬렉션에 대한 반복을 방지합니다.)
<code class="java">boolean result = someObjects.stream() .anyMatch(obj -> some_condition_met);</code>
위 내용은 Java 8 스트림 반복의 흐름을 제어하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!