

스트림은 데이터 소스로부터 데이터를 읽기만할 뿐 변경하지 않는다.

스트림은 lterator처럼 일회용이다(필요하면 다시 스트림을 생성해야 함)

최종 연산 전까지 중간연산이 수행되지 않는다. - 지연된 연산(출력 후 연산. 그 전까진 써놓기만 해놓는다.)


스트림의 작업을 병렬로 처리 - 병렬스트림

기본형 스트림 - IntStream, LongStream, DoubleStream
- 오토박싱&언박싱의 비효율이 제거됨(Stream < Integer > 대신 IntStream사용)
- 숫자와 관련된 유용한 메서드를 Stream< T > 보다 더 많이 제공 (Stream< T > 보다 여러가지 메서드를 사용할 수 있다.)