더북(TheBook)

findFirst 메서드는 비어 있지 않은 컬렉션에서 첫 번째 값을 리턴한다. 종종 이 메서드를 filter 메서드와 결합하면 유용하다. 예를 들어, 여기서는 (만약 존재한다면) 글자 Q로 시작하는 첫 번째 단어를 찾는다.


Optional<String> startsWithQ

= words.filter(s -> s.startsWith("Q")).findFirst();


 

첫 번째 값은 물론 어떤 일치 결과든 괜찮다면 findAny 메서드를 사용한다. 이 메서드는 스트림을 병렬화할 때 유용한데, 이 경우 조사 대상 세그먼트segment들에서 처음 일치가 발견되면 계산을 완료하기 때문이다.


Optional<String> startsWithQ

= words.parallel().filter(s -> s.startsWith(“Q”)).findAny();


신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.