Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같습니다.
forEach
메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다.
forEach
메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 각 요소를 처리하도록 설계되었습니다.
또는 동봉 된 방법을 종료하지 않습니다. forEach
또는 break
를 사용하려고 시도하면 컴파일 오류가 발생합니다.
return
List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); names.stream().forEach(name -> { System.out.println(name); });
forEach
< > 2
< > 3
Java 9 이상을 사용하는 경우 forEach
메소드를 사용하여 특정 조건이 충족 될 때까지 요소를 처리 할 수 있습니다. break
continue
< > 4. 사용 예외 (권장되지 않음) <🎜 🎜>
return
메소드를 종료하기 위해 예외를 던질 수 있지만 권장하지는 않습니다. forEach
break
names.stream().forEach(name -> { if (name.equals("Bob")) { break; // 编译错误 } });
anyMatch
를 사용할 수 없지만이 제한을 우회하는 몇 가지 방법이 있습니다. 이러한 방법을 이해하면 실제 상황에 따라 최상의 옵션을 선택하는 데 도움이됩니다. noneMatch
위 내용은 Java 8 Stream foreach에서 나누거나 돌아 오시겠습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!