더북(TheBook)

스트림은 데이터를 변환하고 추출할 수 있게 해주어 겉으로는 컬렉션과 유사하게 보인다. 하지만 중대한 차이점이 있다.

1. 스트림은 요소들을 보관하지 않는다. 요소들은 하부의 컬렉션에 보관되거나 필요할 때 생성된다.

2. 스트림 연산은 원본을 변경하지 않는다. 대신 결과를 담은 새로운 스트림을 반환한다.

3. 스트림 연산은 가능하면 지연 lazy 처리된다. 지연 처리란 결과가 필요하기 전에는 실행되지 않음을 의미한다. 예를 들어, 긴 단어를 모두 세는 대신 처음 5개 긴 단어를 요청하면, filter 메서드는 5번 째 일치 후 필터링을 중단한다. 결과적으로 심지어 무한 스트림 infinite stream도 만들 수 있다!

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