연산이 항상 모든 특성과 잘 맞는 것은 아닙니다. 특히 병렬 스트림에서는 요소의 순서가 성
능에 상당한 영향을 미칠 수 있습니다. 예를 들어
filter
연산을 사용하여 요소를 선택하는
것은 쉽게 병렬화할 수 있는 작업이지만
takeWhile
은 병렬로 실행될 때 작업 간 동기화가 필
요합니다. 그래서 [표
6
-
5
]에 나열된 중간 연산을 통해 특정 스트림의 특성이 전환될 수 있으
며 이 연산들은 특성이 변경된 동등한 스트림을 반환합니다.
표
6-5
스트림의 동작 변경하기 스트림의 동작 변경하기
연산설명
parallel
()
병렬 처리를 활성화합니다. 스트림이 이미 병렬일 경우
this
를 반
환합니다.
sequential
()
순차 처리를 활성화합니다. 스트림이 이미 순차적일 경우
this
를
반환합니다.
unordered
()
순서가 없는 스트림을 반환합니다. 스트림이 이미 순서가 없을 경
우
this
를 반환합니다.
onClose
(
Runnable
closeHandler
)
스트림이 완료된 후 호출될 추가적인 종료 핸들러를 추가합니다.
단 한 번의 메서드 호출만으로도 스트림의 행동 전환이 가능합니다. 그러나 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.