BaseStream<T, S> — 스트림의 기본 인터페이스

BaseStream<T, S> — 스트림의 기본 인터페이스

순차 및 병렬 집계 연산을 지원하는 요소의 시퀀스인 스트림(stream) 의 기본 인터페이스예요. 모든 스트림 타입(Stream, IntStream, LongStream, DoubleStream)의 뿌리가 돼요.

출처: Java API Reference

본문

public interface BaseStream<T, S extends BaseStream<T, S>> extends AutoCloseable

다음 예시는 StreamIntStream 스트림 타입을 사용한 집계 연산으로, 빨간 위젯의 무게 합계를 계산해요:

int sum = widgets.stream()
                 .filter(w -> w.getColor() == RED)
                 .mapToInt(w -> w.getWeight())
                 .sum();

주요 메서드

  • iterator() — 이 스트림 요소의 반복자를 반환해요. 터미널 연산이에요.
  • spliterator() — 이 스트림 요소의 스플리터레이터를 반환해요. 터미널 연산이에요.
  • isParallel() — 터미널 연산이 실행된다면 병렬로 실행될 스트림인지 반환해요.
  • sequential() — 순차적인 동등 스트림을 반환해요.
  • parallel() — 병렬적인 동등 스트림을 반환해요.
  • unordered() — 순서가 없는 동등 스트림을 반환해요.
  • onClose(Runnable closeHandler) — 추가 close 핸들러가 있는 동등 스트림을 반환해요.
  • close() — 이 스트림을 닫아, 이 스트림 파이프라인의 모든 close 핸들러를 호출해요.

스트림과 스트림 연산, 스트림 파이프라인, 병렬성에 대한 자세한 명세는 Streamjava.util.stream 패키지 문서를 참고해요.

  • 도입 시점(Since): 1.8

더 알아보기 (Learn more)