Flutter/Dart - 리스트 요소 제거

리스트의 특정 요소를 제거하거나, Index로 요소를 제거하는 방법에 대해서 소개합니다.

1. remove()로 특정 요소 제거

List.remove(object)는 리스트의 object를 제거합니다. 요소가 제거되었을 때 true가 리턴되며, 요소가 존재하지 않는 등의 이유로 제거하지 않았을 때는 false가 리턴됩니다.

아래 예제는 리스트에서 cc 문자열을 제거합니다.

void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd'];

    list.remove('cc');
    print(list);
}

Output:

[aa, bb, dd]

2. removeAt()으로 Index 요소 제거

List.removeAt(index)는 리스트의 index 요소를 제거합니다.

아래 예제는 리스트에서 Index 1의 요소를 제거합니다.

void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd'];

    list.removeAt(1);
    print(list);
}

Output:

[aa, cc, dd]

3. removeLast()로 마지막 요소 제거

List.removeLast()는 리스트의 마지막 요소를 제거합니다.

void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd'];

    list.removeLast();
    print(list);
}

Output:

[aa, bb, cc]

4. clear()로 모든 요소 제거

List.clear()는 리스트의 모든 요소들을 삭제합니다.

void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd'];

    list.clear();
    print(list);
}

Output:

[]

5. removeRange()로 특정 범위의 요소들 제거

List.removeRange(start, end)는 Index start에서 end 사이의 요소들을 모두 제거합니다. 제거 대상에서 start Index는 포함되며, end Index는 포함되지 않습니다.

아래 예제는 Index 0에서 Index 2까지의 요소들을 모두 제거합니다.

void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd', 'ab', 'ac'];

    list.removeRange(0, 3);
    print(list);
}

Output:

[dd, ab, ac]

6. removeWhere()로 조건에 맞는 요소들 제거

List.removeWhere(function)은 리스트의 요소들에 대해서 function의 리턴 값이 true인 요소들을 모두 삭제합니다.

아래 예제는 a로 시작하는지 문자열을 모두 삭제합니다.

  • 함수 (item) => item.startsWith('a')로 리스트의 요소들이 전달되며, true가 리턴되는 요소들이 삭제됨
  • startsWith('a')는 문자열이 a로 시작될 때 true 리턴
void main() {

    List<String> list = ['aa', 'bb', 'cc', 'dd', 'ab', 'ac'];

    list.removeWhere((item) => item.startsWith('a'));
    print(list);
}

Output:

[bb, cc, dd]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha