Streams 고급

커스텀 중간 스트림 연산을 위해 수집기를 사용합니다.

✕ Java 8
// Sliding window: manual implementation
List<List<T>> windows = new ArrayList<>();
for (int i = 0; i <= list.size()-3; i++) {
    windows.add(
        list.subList(i, i + 3));
}
✓ Java 24+
var windows = stream
    .gather(
        Gatherers.windowSliding(3)
    )
    .toList();
이 코드에 문제가 있나요? 알려주세요.
🧩

조합 가능

수집기는 다른 스트림 연산과 조합됩니다.

📦

내장 연산

windowFixed, windowSliding, fold, scan이 기본 제공됩니다.

🔧

확장 가능

임의의 중간 변환을 위한 커스텀 수집기를 작성합니다.

이전 방식
커스텀 Collector
모던 방식
gather()
JDK 버전
24
난이도
고급
스트림 수집기
사용 가능

JDK 24에서 확정 (JEP 485, 2025년 3월).

Gatherer는 복잡한 상태 저장 중간 변환을 표현할 수 있는 새로운 중간 스트림 연산입니다. 내장 수집기로는 windowFixed, windowSliding, fold, scan이 있습니다.

공유 𝕏 🦋 in