[java] flatMap() 메서드를 이용한 스트림 편평화 방법
Java 8부터 추가된 스트림(Stream) API는 강력한 기능을 제공하여 데이터 처리를 간편하게 할 수 있습니다. 그 중에서도 flatMap() 메서드는 스트림의 요소를 편평화하는 데 사용됩니다. 이번에는 flatMap() 메서드를 이용하여 스트림을 편평화하는 방법에 대해 알아보겠습니다.
flatMap() 메서드란?
flatMap() 메서드는 스트림의 각 요소를 다른 스트림으로 매핑하고, 결과 스트림을 편평화하는 역할을 합니다. 즉, 중첩된 스트림을 하나의 스트림으로 합쳐주는 역할을 합니다.
사용 예제
다음은 예제를 통해 flatMap() 메서드를 사용하는 방법을 알아보겠습니다.
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class FlatMapExample {
public static void main(String[] args) {
List<String> words = Arrays.asList("Hello", "World");
List<String> uniqueLetters = words.stream()
.map(word -> word.split(""))
.flatMap(Arrays::stream)
.distinct()
.collect(Collectors.toList());
System.out.println(uniqueLetters); // [H, e, l, o, W, r, d]
}
}
위 예제에서는 “Hello”와 “World” 두 개의 단어로 이루어진 리스트를 생성합니다. 그리고 flatMap() 메서드를 이용하여 각 단어를 문자 배열로 변환하고, 이를 다시 스트림으로 만든 후 중복을 제거합니다. 최종적으로 편평화된 문자 스트림을 리스트로 변환하여 출력합니다.
참고 문서
이제 flatMap() 메서드를 사용하여 스트림을 편평화하는 기능을 사용할 수 있습니다. 다양한 데이터 처리 시나리오에서 적절히 활용하여 효율적인 코드를 작성할 수 있습니다.