1. ArrayList와 HashMap 선언 방법
// List<int> list = [1,2,3, "문자열 안됨"];
List<dynamic> list1 = [1,2,3, "문자열 가능"];
var list = [1, 2, 3, "문자열도 됨"]; // ArrayList
var map = { // HashMap
"id":1,
"name":"홍길동"
};
void main() {
print(list[1]);
print(map["name"]);
// 1. list 값추가
list.add(4);
list.remove("문자열도 됨"); // 알아서 찾아서 지워줌
print(list);
// 2. map 값 추가
map["phone"] = "0102222";
print(map);
}
- dynamic를 List의 타입으로 쓰면 다양한 타입을 List에 담을 수 있습니다.
- var로 ArrayList, HashMap 선언이 가능합니다.
2. Deep Copy
var list = [1, 2, 3];
void main() {
// 0. 깊은 복사
var r1 = [...list];
// 1. 요소 4 추가
var r2 = [...list, 4];
// 2. 요소 2 삭제
var r3 = list.where((e) => e != 2).toList();
// 3. 요소 2 만 복사
var r4 = list.where((e) => e == 2).toList();
// 4. 요소 2를 5로 수정
var r5 = list.map((e) => e == 2 ? 5 : e).toList();
// r5와 r6는 동일합니다.
var r6 = list.map((e) {
if (e == 2) {
e = 5;
}
return e;
}).toList();
}
1) 전개 연산자 ...
- list를 깊은 복사를 통해 r1 list를 만듭니다.
2) 복사하면서 요소 추가
- var r2 = [...list, 4];
- list를 복사하면서 요소 4를 추가합니다.
3) where
- 필터를 적용하면서 복사를 수행합니다.
4) map
- list의 각 요소를 순회하면서 조건에 따라 수정을 진행합니다.
Share article