Flutter/Dart - 리스트 복사 방법

리스트 복사 및 리스트의 요소들을 새로운 리스트에 추가하는 방법을 소개합니다.

1. List.from()을 이용한 방법

List.from(list)는 리스트를 생성할 때 list의 모든 요소를 초기 값으로 추가합니다.

아래와 같이 list와 동일 요소를 갖고 있는 새로운 리스트를 생성할 수 있습니다.

void main() {

    List<int> list = [1, 2, 3, 4, 5];

    List<int> copy = List.from(list);
    print(copy);
}

Output:

[1, 2, 3, 4, 5]

2. addAll()을 이용한 방법

list1.addAll(list2)는 list1에 list2의 모든 요소를 추가합니다.

이 함수를 이용하여 아래와 같이 새로운 리스트에 list의 모든 요소를 추가할 수 있습니다.

void main() {

    List<int> list = [1, 2, 3, 4, 5];

    List<int> copy = [];
    copy.addAll(list);
    print(copy);
}

Output:

[1, 2, 3, 4, 5]

위의 예제는 아래와 같이 좀 더 짧은 코드로 구현할 수 있습니다.

void main() {

    List<int> list = [1, 2, 3, 4, 5];

    List<int> copy = []..addAll(list);
    print(copy);
}

3. 2차 리스트 복사

2차 리스트를 복사하려면, 리스트의 리스트를 각각 생성해서 리스트에 추가해야 합니다.

아래와 같이 리스트를 초기 값을 추가할 때 for문으로 사용하여 리스트의 리스트를 복사하고 2차 리스트에 추가할 수 있습니다.

void main() {

    List<List<int>> list = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]
    ];

    List<List<int>> copy = [for (var value in list) List.from(value)];
    print(copy);
}

Output:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha