coyangi
코딩하는 고양이
coyangi
전체 방문자
오늘
어제
  • 분류 전체보기 (23)
    • 🚀 Daily Life (1)
      • 덕질 (1)
      • 회고 (0)
    • 🍎 MAC OS (1)
    • 🔫 Algorithm (1)
      • Goormlevel (0)
    • 🌈 Programming (18)
      • Dart (7)
      • ETC (1)
      • Flutter (4)
      • Git (0)
      • Javascript (1)
      • Laravel (3)
      • PHP (2)
    • 🌎 Server (1)
    • 🧠 Database (0)
      • MySQL (0)
    • 💻 Computer Science (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • flutter
  • HOBBY FAIR
  • crud
  • dart
  • 맥
  • Class
  • 라라벨
  • 서버구축
  • json
  • config
  • 앱
  • Laravel
  • php
  • constructor
  • Containe
  • Server
  • argument
  • 인자
  • parameter
  • 알고리즘
  • 덕질
  • ajax
  • XAMPP
  • 웹서버
  • 플루터
  • Sizedbox
  • 데이터 구조
  • CENTER
  • override
  • Instance

최근 글

티스토리

개인정보

  • 티스토리 홈
  • 스토리
  • 포럼
  • 로그인
hELLO · Designed By 정상우.
coyangi

코딩하는 고양이

[Dart] 열거형 변수(List, Set)와 제네릭(Generic)
🌈 Programming/Dart

[Dart] 열거형 변수(List, Set)와 제네릭(Generic)

2022. 6. 6. 18:30

🔎 열거형 변수

📍 List 특징

• List 는 여러가지를 담을 수 있는 값입니다.
• List 는 순서가 보장됩니다.
• .add() 를 이용해 값을 추가할 수 있습니다.
• .addAll() 를 이용해 여러개의 값을 추가할 수 있습니다.
• .length 를 이용해 리스트의 길이값을 구할 수 있습니다.

void main() {
  // List 선언 방법
  List list = [];
  print(list); // []

  list.add('a'); // a 추가
  list.add('b'); // b 추가

  print(list); // [a, b]
  // list 길이값 .length
  print(list.length); // 2

  print(list[0]); // a

  // list 안에 값을 get (index 기반)
  // index를 접근할 때는 0번 부터 시작
  print(list[0]); // a

  // .addAll 여러개의 값을 추가하고 싶을 때
  list.addAll(['c', 'd', 'e']);
  print(list); // [a, b, c, d, e]

  // index 기반으로 값을 수정할 때
  print('--------------------------');
  print(list); // [a, b, c, d, e]
  list[0] = '가';
  print(list); // [가, b, c, d, e]
  list[1] = '나';
  print(list); // [가, 나, c, d, e]
  list[2] = '다';
  print(list); // [가, 나, 다, d, e]

📍 타트 제네릭(Dart Generic)

Dart 의 API documentation 에서 데이터 타입이나 클래스의 정의를 보면
<> 와 그 안에 'd', 'a', 'r', 't' 같은 문자로 된 표현을 볼 수 있습니다.
제네릭(Generics) 을 사용하면 변수 타입을 명확히 표현할 수 있다는 장점과
반복되는 코드를 줄일 수 있다는 장점이 있습니다.

List 식의 표현으로 string 타입의 값을 가지는 리스트라는 명확한 선언을 통해
잘못된 타입의 값 삽입을 막을 수 있습니다.

  // 특정 타입만 list에 담고 싶을 경우
  // <> 제네릭타입: ex. List<String> = List 안의 값들은 String 타입으로 제한
  List<int> stringList = <int>[];
  stringList.add('d', 'a', 'r', 't');
  print(stringList); // [1]
  // stringList.add(1); // 에러
}

📍 Set 특징

• Set 은 여러가지를 담을 수 있는 값입니다.
• index 접근 X
• 순서가 보장 되지 않는 열거 타입입니다.
• 처리 속도가 List 보다 빠릅니다.
• 중복을 허용하지 않습니다.
• .add() 를 이용해 값을 추가할 수 있습니다.
• .addAll() 를 이용해 여러개의 값을 추가할 수 있습니다.
• .length 를 이용해 리스트의 길이값을 구할 수 있습니다.

  // Set 선언 방법
  Set<String> set = {};
  set.add('a');
  set.add('b');
  set.add('c');
  set.add('a');

  print(set); // {a, b, c}
  print(set.length); // 3
  // set 은 순서 보장이 안되는 열거 타입
  // print(set[2]); // 에러

📍 유용한 연산자 종류

• .contains : 해당 값이 포함 되어 있는 지를 확인하는 연산자

  List list = ['a', 'b', 'c'];
  // 포함 여부를 확인
  print(list.contains('a')); // true
  print(list.contains('1')); // false
  print(list.contains('b')); // true

• .last : 가장 마지막 index 값을 호출하는 연산자

  List list = ['a', 'b', 'c'];
  // 포함 여부를 확인
  print(list.last); // c

• .first : 첫번째 index 값을 호출하는 연산자

  List list = ['a', 'b', 'c'];
  // 포함 여부를 확인
  print(list.first); // a

• .remove : 값을 삭제하는 연산자

  List list = ['a', 'b', 'c'];
  list.remove('c');
  print(list); // ['a', 'b']

• .removeAt : index 기반으로 값을 삭제하는 연산자

  List list = ['a', 'b', 'c'];
  list.remove(0);
  print(list); // ['b', 'c']



'🌈 Programming > Dart' 카테고리의 다른 글

[Dart] Getter, Setter, 접근 제한자  (0) 2022.06.06
[Dart] 클래스 생성자(Class Constructor)  (0) 2022.06.06
[Dart] 클래스(Class) 선언과 인스턴스(Instance)  (0) 2022.06.06
[Dart] 객체 다루기 Map 타입  (0) 2022.06.06
[Dart] 기본 개념 및 기초 문법  (0) 2022.05.11
    '🌈 Programming/Dart' 카테고리의 다른 글
    • [Dart] 클래스 생성자(Class Constructor)
    • [Dart] 클래스(Class) 선언과 인스턴스(Instance)
    • [Dart] 객체 다루기 Map 타입
    • [Dart] 기본 개념 및 기초 문법
    coyangi
    coyangi
    경기도 모 창고에서 은둔하다 양지 바른 땅으로 올라온 고양이

    티스토리툴바