[JAVA] Collection 과 Stream 비교

Woong·2022년 9월 13일
0

Java

목록 보기
16/21

Collection vs Stream

Collection

  • 자료구조의 모든 값을 메모리에 저장
  • Collection 의 모든 요소는 추가 전 미리 계산되어야한다.

Stream

  • 단 한번만 탐색이 가능하다
    • 재사용 불가, 시도시 IllegalStateException 발생
  • 요청이 있을 때에만 요소에 대해 계산한다.
  • 요소를 추가, 제거는 불가능
  • Java 8 부터 제공

외부 반복과 내부 반복

  • Collection
    • Collection 이 외부 반복으로 처리
    • for each 등을 이용해 처리하는 방법
    • 명시적으로 각 요소를 하나씩 가져와 처리, 병렬성 직접 관리 필요
  • Stream
    • Stream 은 내부 반복 처리
    • 반복을 병렬 처리하여 최적화된 순서로 처리
    • filter, map 등 병렬 처리(파이프라이닝) 가능한 중간 연산 제공
    • count, collect 등 최종 연산은 스트림을 닫는다

reference

0개의 댓글