Stream이란?
java ·연속된 데이터들을 처리할 수 있는, 연속된 오퍼레이터들이 모인 기능이다.
특징
데이터를 저장하는 저장소가 아니다.
functional in nature, 소스(원본 데이터)를 변경하지 않는다.
데이터는 한번만 처리한다.
무제한일 수 있다. (short circuit 메소드를 통해 제한한다.)
중개 오퍼레이션은 근본적으로 lazy하다,
병렬처리가 쉽다 일반적으로 병렬처리가 유용할 때는 데이터가 많을수록 효과가 좋다
중개 오퍼레이션
Stream을 반환한다.
일반적으로 stateless한 오퍼레이션들이 많지만, distinct나 sorted 처럼 stateful한 오퍼레이션들도 있다.
종료 오퍼레이션
Stream을 반환하지 않는다.
중개 오퍼레이터는 종료형 오퍼레이터가 오기전까지 실행하지 않는다.
stream 특징 예제는 이곳 에서 확인할 수 있다.