[Dart] 4. 컬렉션
※ https://dart-ko.dev/language/collections 을 참고하여 작성하였습니다.
Lists
다양한 리스트 선언
1 2 3 4 5 6 7 8 9 10
var list1= [1, 2, 3]; var list2= [ 'Car', 'Boat', 'Plane', ]; // 컴파일 타임 상수인 리스트: 값을 바꿀 수 없음 var constantList= const [1, 2, 3];
리스트 관련 메서드
- add: 리스트 값 추가 / remove: 리스트 값 제거
- where: 조건식으로 필터링
- map, reduce, fold
Sets: 중복되지 않고, 정렬되지 않은 컬렉션
다양한 세트 선언
1 2 3
Set<String> alpha= {'a', 'b', 'c', 'd'}; var names= <String>{}; Set<String> elements= {};
set 관련 메서드
add, addAll로 set에 요소 또는 set전체를 추가
set1.length
컴파일 상수 set
1 2 3 4 5 6 7 8
final constantSet = const { 'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine', }; print(constantSet); // {fluorine, chlorine, bromine, iodine, astatine}
Maps
Explanation
- 키와 값으로 구성된 객체
- 키와 값 모두 타입 상관 없음
- 키는 유일하지만, 값은 중복될 수 있음
다양한 map 선언
1 2 3 4 5 6 7 8 9 10 11
var gifts = { // 키: 값 'first': 'partridge', 'second': 'turtledoves', 'fifth': 'golden rings' }; var nobleGases = Map<int, String>(); nobleGases[2] = 'helium'; nobleGases[10] = 'neon'; nobleGases[18] = 'argon';
map 관련 메서드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// 1. 키와 값의 쌍 추가 gifts['fourth']= 'calling birds'; // 2. 값 출력 print(gifts); // {first: partridge, second: turtledoves, fifth: golden rings, fourth: calling birds} print(gifts['first']); // partridge // 3. map에 있는 키-값 쌍의 개수 assert(gifts.length==5); // 4. 컴파일 타임 상수 map final constantMap = const { 2: 'helium', 10: 'neon', 18: 'argon', };
연산자
전개 연산자
전개 연산자(…)
null-aware 전개 연산자(…?)
→ … 뒤 컬렉션(iterable 객체?)이 null일 수 있으면 ? 붙이기
1 2 3
var list= [1, 2, 3]; var list1= [0, ...list]; assert(list1.length==4);
제어-흐름 연산자: 컬렉션 내에 if문과 for를 활용
활용 1: if 문에 true 조건을 넣어서 element 추가
1 2 3
var promoActive= true; var nav = ['Home', 'Furniture', 'Plants', if (promoActive) 'Outlet']; print(nav); // [Home, Furniture, Plants, Outlet]
활용 2: if 문에 case 조건을 넣어서 element 추가
1 2 3
var login= 'Manager'; var nav2 = ['Home', 'Furniture', 'Plants', if (login case 'Manager') 'Inventory']; print(nav2); // [Home, Furniture, Plants, Inventory]
활용 3: for문을 넣어서 elements 추가
1 2 3
var listOfInts = [1, 2, 3]; var listOfStrings = ['#0', for (var i in listOfInts) '#$i']; print(listOfStrings);
This post is licensed under CC BY 4.0 by the author.