컬렉션은 여러 값을 하나의 변수에 저장할 수 있는 타입을 의미한다.
주요 컬렉션 타입들은 다음과 같다.
List (리스트)
- 여러 값을 순서대로 저장하고, 인덱스 번호로 접근 가능한 컬렉션 타입이다.
Map (맵)
- '키'와 '값'의 형태로 저장하고,'키'를 기반으로 매칭되는 '값'을 바로 접근 가능한 컬렉션 타입이다.
Set (셋)
- 중복된 데이터를 제거하고 데이터를 저장하는 컬렉션 타입이다.
// 코드의 진입점
void main() {
// List 자료구조 사용해보기
// 선언과 동시에 초기화
List<String> myList = ['홍길동', '포도', '사과'];
// R
print(' LIST DATA $myList');
// add 추가
myList.add('김유신');
// read : 리스트 계열은 인덱스 번호를 제공 즉, 인덱스 연산 가능
print(myList[1]);
// update
myList[1] = '신사임당';
print(myList[1]);
// delete , 2가지 방식 (키값으로 제거 가능, 인덱스 번호로 제거 가능)
myList.remove('신사임당');
myList.removeAt(0);
print(myList);
myList.remove('신사임당1111111');
//myList.removeAt(100); 오류 발생
print(myList.length); //인덱스 길이 는 = n - 1 = 0, 1
}
void main() {
// Map은 키/값 을 사용한다.
Map<String, int> myDict = {'홍길동' : 1, "포도" : 2, '사과': 3};
print(myDict.runtimeType);
// 맵에 새로운 키/값 추가 하는 방법
myDict['케이트'] = 4;
print(myDict['케이트']);
// 읽기
print(myDict['홍길동']);
print(myDict.keys);
print(myDict.values);
print(myDict.entries);
// 수정
myDict['홍길동'] = 100;
// 삭제
myDict.remove('홍길동');
print(myDict);
// map 에 특정 키/값이 있는지 확인 하는 방법
print(myDict.containsKey('홍길동'));
print(myDict.containsKey('케이트'));
// Map 을 다룰 때 다른 데이터 타입으로 변환해야 하는 경우 --> List
// 리스트로 변환 하기
var myDictKeys = myDict.keys;
var myDictValues = myDict.values;
print(' 데이터 타입 확인1 : ${myDictKeys.runtimeType}');
List<String> myDictKeyList = myDictKeys.toList();
print(' 데이터 타입 확인2 : ${myDictKeyList.runtimeType}');
//List<String> myDictKeyList = myDict.keys.toList();
// 기존에 존해하는 map 다른 map 데이터를 일과 추가 해야 된다면
Map<String, int> myDict2 = {'한국': 1, '일본': 2};
myDict.addAll(myDict2);
print('---------------------');
print(myDict);
}
void main() {
// List -> [], Map -> {}, , Set -> {}
Set<String> data = {'a', 'b', 'c', 'a'};
print(data);
data.add('d');
data.remove('a');
print(data);
// 전체 비우기
data.clear();
print(data);
}
728x90
'Flutter' 카테고리의 다른 글
플러터 기본기 다지기 - 1 (1) | 2024.11.05 |
---|---|
Flutter UI 프레임워크 (4) | 2024.11.05 |
flutter App화면 구현 (1) | 2024.09.04 |
변수 (1) | 2024.09.04 |
프로젝트 구조 살펴보기 (0) | 2024.09.04 |