$백엔드 개발자 Rueun의 기술 블로그|Java · Spring · 클린 아키텍처🌱
#Development

Java Stream API 활용 가이드

@2026-02-28·1 min read

Stream API란?

Java 8에서 도입된 Stream API는 컬렉션 데이터를 선언적으로 처리할 수 있게 해줍니다.

중간 연산

JAVA
List<String> names = members.stream()
    .filter(m -> m.getAge() > 20)       // 필터링
    .map(Member::getName)                // 변환
    .sorted()                            // 정렬
    .distinct()                          // 중복 제거
    .collect(Collectors.toList());

최종 연산

JAVA
// 개수
long count = members.stream().filter(m -> m.getAge() > 20).count();
 
// 합계
int totalAge = members.stream().mapToInt(Member::getAge).sum();
 
// 그룹핑
Map<String, List<Member>> byTeam = members.stream()
    .collect(Collectors.groupingBy(Member::getTeamName));

flatMap 활용

JAVA
List<String> allTags = posts.stream()
    .flatMap(post -> post.getTags().stream())
    .distinct()
    .collect(Collectors.toList());

주의사항

  • Stream은 한 번만 사용 가능 (재사용 불가)
  • 병렬 스트림(parallelStream())은 신중하게 사용
  • 무한 스트림 사용 시 limit() 필수

정리

Stream API를 활용하면 코드의 가독성과 표현력을 크게 향상시킬 수 있습니다.

§ 목차