>  기사  >  Java  >  EachLike 반복을 위해 Java 8 스트림에서 중단하거나 반환하는 방법은 무엇입니까?

EachLike 반복을 위해 Java 8 스트림에서 중단하거나 반환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-24 01:42:02423검색

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

Java 8 스트림 forEach에서 중단 또는 반환

향상된 for-each 루프를 사용하는 외부 반복과 마찬가지로 Java 8 람다 표현식을 사용한 내부 반복에는 다음이 필요합니다. 파손 또는 반품에 대한 다른 접근 방식. for-each 루프에서 벗어나려면 break 문을 사용하거나 현재 객체를 반환하면 됩니다.

스트림 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>

위 내용은 EachLike 반복을 위해 Java 8 스트림에서 중단하거나 반환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.