List
List는 데이터의 중복이 가능하고 순서가 있는 자료를 담는 컬렉션 입니다. 자료는 순차적으로 index(번호)를 생성하여 쌓이게 됩니다. 이때 <> 타입을 사용하게 되는데 이를 제네릭 타입이라고 합니다.
Dart는 타입 추론을 제공하기 때문에 var로 선언할 수 있습니다.
import 'dart:math';
void main() {
// List
List<int> nums = [1, 2, 3, 4];
print(nums[0]);
print(nums[1]);
print(nums[2]);
print(nums[3]);
print("================================");
var nums1 = [1.1, 2.2, 3.3, 4.4];
print(nums1[0]);
print(nums1[1]);
print(nums1[2]);
print(nums1[3]);
print(nums1.runtimeType);
}
1
2
3
4
================================
1.1
2.2
3.3
4.4
List<double>
Map
Map은 키(key)와 값(value)의 쌍으로 이루어진 컬렉션입니다. List는 index 번호로 값을 찾지만 Map은 키(key)로 값을 찾아냅니다.
import 'dart:math';
void main() {
// Map
Map<String, dynamic> user = {"id": 1, "username": "abc"};
print(user["id"]);
print(user["username"]);
print(user.runtimeType);
}
1
abc
_Map<String, dynamic>
Set
Set은 집합을 표현하는 컬렉션입니다. 데이터의 중복이 허용되지 않기 때문에 로또 번호 생성기 등을 만들 때 유용하게 사용할 수 있습니다. Set은 순서가 없습니다.
import 'dart:math';
void main() {
// Set
// 순서가 없고 중복을 못함
Set<int> lotto = {};
Random r = Random();
lotto.add(r.nextInt(45) + 1);
lotto.add(r.nextInt(45) + 1);
lotto.add(r.nextInt(45) + 1);
lotto.add(r.nextInt(45) + 1);
lotto.add(r.nextInt(45) + 1);
lotto.add(r.nextInt(45) + 1);
print(lotto);
List<int> lottoList = lotto.toList();
lottoList.sort();
print(lottoList);
}
{16, 7, 6, 37, 14, 33}
[6, 7, 14, 16, 33, 37]
'Flutter' 카테고리의 다른 글
| Dart 문법 - final 과 const (0) | 2025.08.18 |
|---|---|
| Dart 문법 - 반복문 (1) | 2025.08.18 |
| Dart 문법 - 추상 클래스 (1) | 2025.08.18 |
| Dart 문법 - Mixin (0) | 2025.08.18 |
| Dart 문법 - 상속 (1) | 2025.08.18 |