더북(TheBook)

05
상태 유지 변환

앞선 절들에서 살펴본 스트림 변환stream transformation무상태 변환stateless transformation이다. 다시 말해 필터링 또는 맵핑된 스트림에서 요소를 추출할 때 결과가 이전 요소에 의존하지 않는다. 몇 가지 상태 유지 변환stateful transformation도 존재한다. 예를 들어, distinct 메서드는 중복을 제거하는 점을 제외하면 원본 스트림으로부터 요소들을 같은 순서로 돌려주는 스트림을 리턴한다. 이 경우 스트림은 이미 만난 요소들을 확실히 기억해야 한다.


Stream<String> uniqueWords

= Stream.of("merrily", "merrily", "merrily", "gently").distinct();

//“merrily”를 한 개만 유지한다.


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