[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()
메서드의 활용은 매우 유용합니다. 다양한 조합으로 사용하여 원하는 데이터를 간편하게 추출할 수 있습니다.
참고 자료: