Skip to content

Stream 소개

Jeonghyun Kang edited this page May 15, 2022 · 3 revisions

Stream

  • 컬렉션에 저장되어 있는 엘리먼트들을 하나씩 순회하면서 처리할 수 있는 코드패턴
  • Stream은 데이터를 담고 있는 저장소가 아니다.
  • Stream은 original 데이터 소스를 변경하지 않는다.

스트림 파이프라인

  • 다수의 중개 오퍼레이션(없어도 가능)과 한 개의 종료 오퍼레이션으로 구성한다.
  • 종료 오퍼레이션을 실행하기 전까지 스트림의 데이터 소스는 처리되지 않는다.
    • 중개 오퍼레이션은 근본적으로 lazy하다!

중개 오퍼레이션

Stream을 리턴한다.

  • filter: 조건이 참인 엘리먼트만 스트림에 담는다.
  • map: 들어온 엘리먼트의 타입을 바꾸어 스트림에 담는다.
  • limit
  • skip
  • sorted

종료 오퍼레이션

Stream을 리턴하지 않는다.

  • collect
  • allMatch: 전부 true면 true 리턴
  • forEach
  • min / max

Clone this wiki locally