Dart의 기본적인 컬렉션(List, Set, Map)과 Class 개념을 하나씩 살펴보자.
List는 Dart에서 배열과 유사한 개념으로, 여러 개의 값을 순차적으로 저장하는 컬렉션이다.
void main() {
// 1. 기본적인 List 선언 (가변 길이)
List<int> numbers = [1, 2, 3, 4, 5];
print(numbers); // [1, 2, 3, 4, 5]
// 2. 빈 리스트 선언 후 값 추가
List<String> names = [];
names.add("Alice");
names.add("Bob");
print(names); // ["Alice", "Bob"]
// 3. 고정 길이 리스트
List<int> fixedList = List.filled(3, 0);
print(fixedList); // [0, 0, 0]
// 4. 다양한 메서드 사용
numbers.add(6);
numbers.removeAt(0);
print(numbers.contains(3)); // true
print(numbers.length); // 5
}
Set은 중복을 허용하지 않는 컬렉션이다.
void main() {
// 1. 기본적인 Set 선언
Set<int> numberSet = {1, 2, 3, 4, 5};
print(numberSet); // {1, 2, 3, 4, 5}
// 2. 중복된 값 추가 (자동으로 제거됨)
numberSet.add(3);
numberSet.add(6);
print(numberSet); // {1, 2, 3, 4, 5, 6}
// 3. Set 메서드 활용
numberSet.remove(2);
print(numberSet.contains(3)); // true
print(numberSet.length); // 5
}
Map은 Key-Value(키-값) 쌍으로 데이터를 저장하는 컬렉션이다.
void main() {
// 1. 기본적인 Map 선언
Map<String, int> ageMap = {
"Alice": 25,
"Bob": 30,
"Charlie": 28
};
print(ageMap); // {Alice: 25, Bob: 30, Charlie: 28}
// 2. 값 추가 및 변경
ageMap["David"] = 22;
ageMap["Alice"] = 26;
print(ageMap["Alice"]); // 26
// 3. Map 메서드 활용
print(ageMap.keys); // (Alice, Bob, Charlie, David)
print(ageMap.values); // (26, 30, 28, 22)
print(ageMap.containsKey("Charlie")); // true
ageMap.remove("Bob");
print(ageMap); // {Alice: 26, Charlie: 28, David: 22}
}
개념 특징
List : 순서가 있으며, 중복 가능
Set : 순서가 없으며, 중복 불가능
Map : Key-Value 쌍으로 저장