스트림 수집기
커스텀 중간 스트림 연산을 위해 수집기를 사용합니다.
코드 비교
✕ 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 지원
스트림 수집기
사용 가능
JDK 24에서 확정 (JEP 485, 2025년 3월).
동작 원리
Gatherer는 복잡한 상태 저장 중간 변환을 표현할 수 있는 새로운 중간 스트림 연산입니다. 내장 수집기로는 windowFixed, windowSliding, fold, scan이 있습니다.
관련 문서