Java/자바 정리

161. Stream API 시작하기 – 컬렉션 요소 반복 처리

코딩하는냥이 2025. 5. 23. 10:09
반응형

자바 8부터 도입된 Stream API는 컬렉션 데이터를 간결하고 선언적인 방식으로 처리할 수 있게 해줍니다.
이번 예제에서는 Set<String>에 저장된 문자열을 스트림으로 변환한 뒤,
각 요소를 순회하며 출력하는 기본 구조를 실습해보겠습니다.


📌 예제 코드

import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;

public class StreamExample {
	public static void main(String[] args) {
		Set<String> set = new HashSet<String>();
		set.add("홍길동");
		set.add("신용권");
		set.add("감자바");
		
		Stream<String> stream = set.stream();
		stream.forEach(System.out::println);
//		stream.forEach(name -> System.out.println(name));
		// ▼ 만약 람다식을 사용하지 않는다면
//		stream.forEach(new Consumer<String>() {
//			public void accept(String name) {
//				System.out.println(name);
//			}
//		});
	}
}

💻 실행 결과

홍길동
신용권
감자바

※ 출력 순서는 Set의 특성상 실행할 때마다 달라질 수 있습니다.


💬 코드 설명

  • Set<String>에 세 명의 이름을 저장합니다.
  • set.stream()을 호출하여 Set을 Stream으로 변환합니다.
  • forEach()는 스트림의 각 요소를 순회하며,
    람다식을 통해 각 이름을 System.out.println()으로 출력합니다.
  • Stream은 한 번 사용하면 소모되므로, 재사용하려면 다시 생성해야 합니다.

💡 포인트 정리

  • Collection.stream() 메서드를 사용하면 컬렉션 데이터를 스트림 형태로 변환할 수 있습니다.
  • 스트림은 요소를 하나씩 꺼내어 처리하는 반복 처리 기능을 간결하게 제공합니다.
  • forEach()는 가장 기본적인 스트림 처리 메서드로, 각 요소에 대해 지정한 동작을 수행합니다.
  • Set은 순서가 없기 때문에 출력 결과의 순서는 매번 달라질 수 있습니다.

📌정리하자면, 이번 예제는 Stream API의 가장 기본적인 사용법인 컬렉션 → 스트림 변환 → 요소 출력 흐름을 실습한 예제였습니다.
이후 스트림은 필터링, 정렬, 매핑, 집계 등 다양한 중간/최종 연산과 함께 활용되므로,
이번 내용을 기반으로 점차 활용 범위를 넓혀가 보시면 좋겠습니다.