🔎 열거형 변수
📍 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 |