SeouliteLab

[Java/자바] 2차원 리스트 평탄화(flatten)하기 본문

프로그래밍

[Java/자바] 2차원 리스트 평탄화(flatten)하기

Seoulite Lab 2024. 3. 7. 09:21

Java에서 2차원 리스트를 평탄화하여 1차원 리스트로 변환하는 방법을 알아보겠습니다. 이 블로그 포스트에서는 Java를 사용하여 다양한 방법으로 2차원 리스트를 평탄화하는 예제를 제공합니다. 각 예제는 해당하는 방법으로 2차원 리스트를 평탄화하는 방법을 보여줍니다.

예제 1: 반복문 사용

import java.util.ArrayList;
import java.util.List;

List<List<Integer>> matrix = new ArrayList<>();
matrix.add(List.of(1, 2, 3));
matrix.add(List.of(4, 5, 6));
matrix.add(List.of(7, 8, 9));

List<Integer> flattenedList = new ArrayList<>();
for (List<Integer> row : matrix) {
    for (int num : row) {
        flattenedList.add(num);
    }
}

System.out.println("Flattened List: " + flattenedList);

위의 예제에서는 중첩된 반복문을 사용하여 각 요소를 1차원 리스트에 추가하여 2차원 리스트를 평탄화합니다.

예제 2: Stream API 사용

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

List<List<Integer>> matrix = new ArrayList<>();
matrix.add(List.of(1, 2, 3));
matrix.add(List.of(4, 5, 6));
matrix.add(List.of(7, 8, 9));

List<Integer> flattenedList = matrix.stream()
                                     .flatMap(List::stream)
                                     .collect(Collectors.toList());
`
System.out.println("Flattened List: " + flattenedList);

두 번째 예제에서는 Java의 Stream API를 사용하여 각 요소를 평탄화합니다. flatMap() 함수를 사용하여 각 요소의 스트림을 연결하고 collect() 함수로 다시 리스트로 변환합니다.