스트림 소개

스트림이란 무엇일까

현재로서는 스트림을 사용하면

  1. 선언형으로 코드 구현 할 수 있다. ( e.g) 저칼로리 요리만 선택하라. ) → 간결, 가독성 up
  2. 여러 빌딩 블록 연산을 연결해서 복잡한 데이터 처리 파이프라인을 만들 수 있다. 여러 연산을 파이프라인으로 연결해도 여전히 가독성, 명확성 유지된다
  3. 조립할 수 있다 → 유연성 좋아진다.
  4. 병렬화 → 성능이 좋아진다.

filter 같은 연산은 고수준 빌딩 블록 (high-level building block)으로 이루어져 있으므로 특정 스레딩 모델에 제한되지 않고 자유롭게 어떤 상황에서도 사용할 수 있다 → 무슨말?

데이터 처리 과정을 병렬화하면서 스레드와 락을 걱정할 필요가 없다.

Stream API는 매우 비싼 연산이다.

[ Collection과 Stream의 차이]

컬렉션은 자료구조이므로 요소 저장 및 접근 연산이 주이다. (주제 : 데이터)

스트림은 표현 계산식 (filter, sorted, map)이 주이다. (주제: 계산)