728x90
반응형
공통점 - 조건에 일치하는 요소 1개를 반환하는 메서드
차이점
- findAny() - 병렬모드에서 순서를 보장하지 않음
- findFirst() - 병렬모드에서 맨 첫 번째 요소 반환을 보장함
즉, findFirst()는 스트림의 첫 번째 요소를 반환하지만, findAny()는 스트림에서 모든 요소를 선택할 수 있음
List<String> elements = Arrays.asList("a", "b", "c");
Optional<String> findAny = elements.parallelStream().filter(n -> !n.startsWith("b")).findAny();
System.out.println(findAny.get()); // "a" or "c"
Optional<String> findFirst = elements.parallelStream().filter(n -> !n.startsWith("b")).findFirst();
System.out.println(findFirst.get()); // "a"
안정적인 결과를 원한다면 findFirst()를 사용하는 게 좋을 것 같다.
참조 : https://stackoverflow.com/questions/35359112/difference-between-findany-and-findfirst-in-java-8
728x90
반응형
'Java' 카테고리의 다른 글
[TOMCAT/JAVA] 로컬 톰캣 서버 Heap 메모리 모니터링 하기(jconsole) (1) | 2024.12.06 |
---|---|
[Java/Spring] File 디렉터리(폴더)가 생성되지 않는 이슈[mkdir(), mkdirs()] (0) | 2024.06.27 |
[프로그래머스/JAVA] 이웃한 칸 (0) | 2024.02.03 |
[JAVA] Annotation 어노테이션이란? (2) | 2024.01.12 |
[JAVA] Date -> Calendar, Calendar -> Date 변환하기 (0) | 2023.11.15 |
댓글