[java] filter() 메서드를 이용한 스트림 필터링 방법

Java 8부터 도입된 스트림(Stream)은 컬렉션 처리를 더욱 효과적이고 간결하게 할 수 있는 기능입니다. 스트림을 사용하면 데이터를 처리하는 과정을 파이프 라인으로 연결하여 원하는 작업을 수행할 수 있습니다.

스트림을 사용하여 데이터를 필터링하는 방법 중 하나는 filter() 메서드를 이용하는 것입니다. filter() 메서드는 조건에 맞는 요소만을 선택하여 새로운 스트림을 생성하는 역할을 합니다.

다음은 filter() 메서드를 사용하여 리스트에서 특정 조건에 맞는 요소를 선택하는 예제입니다.

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class StreamFilterExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

        // 짝수만 필터링
        List<Integer> evenNumbers = numbers.stream()
                .filter(n -> n % 2 == 0)
                .collect(Collectors.toList());

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

위 예제에서는 numbers 리스트에서 filter() 메서드를 사용하여 짝수만을 필터링하고, collect() 메서드를 사용하여 새로운 리스트에 저장하였습니다. 그 결과로 [2, 4, 6, 8, 10]이 출력됩니다.

filter() 메서드는 람다 표현식을 인수로 전달받으며, 해당 람다 표현식은 요소를 필터링할 조건을 정의합니다. 조건을 만족하는 요소만을 선택하여 새로운 스트림을 생성하게 됩니다.

스트림을 사용하여 데이터를 필터링하는 방법 중 filter() 메서드의 활용은 매우 유용합니다. 다양한 조합으로 사용하여 원하는 데이터를 간편하게 추출할 수 있습니다.

참고 자료: