더북(TheBook)

스트림을 이용해 작업할 때는 연산들의 파이프라인을 세 단계로 설정한다.

1. 스트림을 생성한다.

2. 초기 스트림을 다른 스트림으로 변환하는 중간 연산 intermediate operation들을 하나 이상의 단계로 지정한다.

3. 결과를 산출하기 위해 최종 연산 terminal operation을 적용한다. 이 연산은 앞선 지연 연산 lazy operation들의 실행을 강제한다. 이후로는 해당 스트림을 더는 사용할 수 없다.

 

앞서 살펴본 예제에서는 stream 또는 parallelStream 메서드로 스트림을 생성한다. filter 메서드로 스트림을 변환하고, count는 최종 연산이다.

<Note>

스트림 연산들은 요소를 대상으로 실행될 때 스트림에서 호출된 순서로 실행되지 않는다. 앞선 예제에서는 count가 호출되기 전에는 아무 일도 일어나지 않는다. count 메서드가 첫 번째 요소를 요청하면, filter 메서드가 길이 > 12인 요소를 찾을 때까지 요소들을 요청하기 시작한다.

 

다음 절에서는 스트림을 생성하는 방법을 알아본다. 그 다음 세 개 절에서는 스트림 변환을 살펴보고, 이어지는 다섯 개 절에서 최종 연산을 다룬다.

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