3.2. Stream API 활용

약 4분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

3.2. Stream API 활용

Stream API는 Java 8에서 도입된 강력한 기능으로, 컬렉션 데이터를 쉽게 처리할 수 있는 방법을 제공합니다. 특히 대량의 데이터에 대한 연산을 수행할 때 유용하며, 가독성 높은 코드를 작성할 수 있도록 돕습니다.

왜 Stream API를 사용할까?

전통적인 컬렉션 처리 방식은 여러 가지 반복문을 사용하여 데이터를 하나하나 처리해야 했으며, 이 과정에서 코드가 복잡해질 수 있었습니다. Stream API는 이러한 반복문을 대신하여
함수형 프로그래밍 접근법을 사용하여 데이터를 처리할 수 있는 방법을 제공함으로써 코드의 간결함을 유지합니다. 이는 유지보수 및 가독성 측면에서 중요한 이점이 있습니다.

Stream API의 기본 사용법

Stream API를 사용하기 위해 컬렉션(List, Set 등)에 stream() 메소드를 호출하면, 해당 컬렉션으로부터 Stream 객체를 생성할 수 있습니다. 이후 다양한 메소드(예: filter(), map(), reduce())를 체이닝할 수 있습니다.

import java.util.Arrays;
import java.util.List;

public class StreamExample {
    public static void main(String[] args) {
        // 데이터 리스트
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // Stream을 사용하여 짝수만 필터링
        List<Integer> evenNumbers = numbers.stream()
            .filter(n -> n % 2 == 0)
            .toList(); // toList() 메소드로 List로 변환

        // 결과 출력
        System.out.println(evenNumbers); // [2, 4, 6, 8, 10]
    }
}

실습

위 코드를 IntelliJ IDEA에서 작성하고 실행하여 짝수 목록을 만들어 보시기 바랍니다. 작업 후, 아래와 같은 질문에 답해보세요:

  1. Stream API를 사용하여 여러 조건을 조합할 수 있는 방법은 무엇인가요?
  2. 스트림을 통해 생성된 결과를 수정하거나 변형하는 방법에는 어떤 것들이 있나요?

응용 문제

  1. 주어진 정수 목록에서 홀수의 합을 구하는 Stream API 프로그램을 작성하세요.
  2. 문자열 목록에서 'a' 문자가 포함된 문자열만 걸러내는 프로그램을 작성하세요.

정리

Stream API는 데이터를 처리하는 유연하고 강력한 방법으로, 성능과 가독성을 동시에 고려할 수 있는 도구입니다. 다양한 메소드를 체이닝하여 복잡한 연산을 간단하게 표현할 수 있으며, 이는 객체지향 프로그래밍(OOP)의 구현 원칙에도 잘 부합합니다. 앞으로의 실습 및 프로젝트에서도 이 Stream API를 적절하게 활용하여 효율적인 코드를 작성해 보세요.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.