List 와 Set의 차이점

pharmDev·2024년 10월 29일

Flutter에서 List와 Set의 차이점

Flutter 개발에서 List와 Set은 데이터를 저장하고 관리하는 데 사용되는 두 가지 중요한 자료 구조입니다. 각각 고유한 특징과 용도를 가지고 있으므로, 어떤 상황에서 어떤 자료 구조를 사용해야 할지 이해하는 것이 중요합니다.

List (리스트)

  1. 정의: 순서가 보장되는 요소들의 집합입니다. 즉, 각 요소는 특정한 인덱스를 가지며, 이 인덱스를 통해 요소에 접근할 수 있습니다.
  2. 중복 허용: 동일한 값을 여러 번 포함할 수 있습니다.
  3. 수정 가능: 요소를 추가, 삭제, 수정할 수 있습니다.
  4. 사용 예:
    여러 개의 위젯을 순서대로 배치할 때
    특정한 순서로 데이터를 저장하고 관리할 때
    특정한 인덱스를 기반으로 데이터에 접근해야 할 때
List<String> fruits = ['apple', 'banana', 'orange', 'apple'];

Set (셋)

  1. 정의: 순서가 보장되지 않는 유일한 요소들의 집합입니다. 즉, 각 요소는 한 번만 나타날 수 있습니다.
  2. 중복 불허: 동일한 값은 하나만 포함될 수 있습니다.
  3. 수정 가능: 요소를 추가하거나 삭제할 수 있지만, 중복된 요소는 추가되지 않습니다.
  4. 사용 예:
    중복된 값을 제거하고 싶을 때
    특정한 요소가 집합에 포함되어 있는지 확인하고 싶을 때
    집합 연산 (합집합, 교집합, 차집합)을 수행하고 싶을 때

Set<String> uniqueFruits = {'apple', 'banana', 'orange'};

어떤 것을 사용해야 할까?

  • 순서가 중요하고 중복을 허용해야 할 때:
    List를 사용합니다. 예를 들어, 화면에 표시할 항목들의 목록을 관리할 때 List를 사용하면 유용합니다.

  • 순서가 중요하지 않고 중복을 허용하지 않아야 할 때:
    Set을 사용합니다. 예를 들어, 사용자가 선택한 항목들의 집합을 관리할 때 Set을 사용하면 중복된 선택을 방지할 수 있습니다.
    결론
    List와 Set은 각각 장단점이 있으며, 어떤 자료 구조를 선택할지는 데이터의 특성과 사용 목적에 따라 달라집니다. 두 자료 구조의 차이점을 명확히 이해하고, 적절한 자료 구조를 선택하여 효율적인 Flutter 개발을 수행할 수 있도록 노력해야 합니다.

profile
코딩을 배우는 초보

0개의 댓글