✅ 1. collect()란?
collect()는 Stream의 요소들을 하나의 결과로 모으는 최종 연산입니다. 주로 List, Set, Map 등 컬렉션으로 수집하거나, 집계, 문자열 연결 등에 활용됩니다.
List<String> list = names.stream()
.collect(Collectors.toList());
Collectors 클래스에는 다양한 수집 전략이 미리 구현되어 있어요.
✅ 2. 자주 쓰이는 Collectors
| 메서드 | 설명 |
| toList() | List로 수집 |
| toSet() | Set으로 수집 |
| joining() | 문자열 연결 (구분자 옵션 있음) |
| counting() | 개수 세기 |
| summarizingInt() | 합계, 평균, 최댓값, 최솟값 한번에 계산 |
| groupingBy() | 그룹핑 (Map으로 분류) |
| partitioningBy() | true/false 조건으로 분할 |
✅ 3. 예제 코드 모음
🔹 리스트로 수집
List<String> result = list.stream()
.collect(Collectors.toList());
🔹 문자열 연결
String joined = list.stream()
.collect(Collectors.joining(", "));
🔹 개수 세기
long count = list.stream()
.collect(Collectors.counting());
🔹 그룹핑
Map<String, List<String>> grouped = list.stream()
.collect(Collectors.groupingBy(s -> s.substring(0, 1)));
✅ 4. 실무 팁
- Collectors.joining()은 CSV, 로그 문자열 등 만들 때 유용합니다.
- groupingBy()와 mapping()을 함께 쓰면 다차원 그룹핑도 가능합니다.
- collect()는 가장 강력하고 자주 쓰이는 최종 연산이므로 잘 익혀두면 실무에 매우 유용합니다.
'JAVA' 카테고리의 다른 글
| Java 연산자와 제어문 핵심 정리 — if/switch, 반복문, 비교 연산 실수 방지 (0) | 2026.02.13 |
|---|---|
| Java 변수와 타입 — 이것만 알면 된다 (기본 타입 8가지, var, 타입 추론까지) (0) | 2026.02.13 |
| Java 개발 환경 한방에 세팅하기 (JDK + IntelliJ + Hello World) (0) | 2026.02.12 |
| Java는 왜 아직도 쓸까? — 생태계 현황과 JDK LTS 버전 선택 가이드 (0) | 2026.02.12 |
| String null 빈값 체크 (0) | 2020.01.13 |