inblog logo
|
devleekangho
    플러터

    [플러터] 7. Dart (4) Collection

    KangHo Lee's avatar
    KangHo Lee
    Dec 20, 2024
    [플러터] 7. Dart (4) Collection
    Contents
    1. ArrayList와 HashMap 선언 방법2. Deep Copy

    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
    Contents
    1. ArrayList와 HashMap 선언 방법2. Deep Copy

    devleekangho

    RSS·Powered by Inblog