[java] JAVA8 변경 사항(스트림 API)

JAVA8 변경 사항(스트림 API)

스트림 API(Stream API)

스트림 API는 데이터를 추상화하여 다루며, 다양한 방식으로 저장된 데이터를 읽고 쓰기 위한 공통된 방법을 제공

스트림 API의 특징

  1. 스트림은 외부 반복을 통해 작업하는 컬렉션과는 달리 내부 반복(internal iteration)을 통해 작업을 수행함
  2. 스트림은 재사용이 가능한 컬렉션과는 달리 단 한 번만 사용할 수 있음
  3. 스트림은 원본 데이터를 변경하지 않음
  4. 스트림의 연산은 필터-맵(filter-map) 기반의 API를 사용하여 지연(lazy) 연산을 통해 성능을 최적화함
  5. 스트림은 paralleStream() 메소드를 통한 손쉬운 병렬 처리를 지원함

스트림 API의 동작 흐름

스트림 API는 세가지 단계에 걸쳐 동작함

  1. 스트림의 생성
  2. 스트림의 중개 연산(스트림의 변환)
  3. 스트림의 최종 연산(스트림의 사용)