소소한일상

[플러터] Map 타입 이해하기 본문

카테고리 없음

[플러터] Map 타입 이해하기

젤라 2022. 5. 5. 00:25

🎈Map()

Map : key, value, pair(한쌍) 이뤄진 자료 구조

  • {key:value};
  • key값이 중복안됨

 

map 선언방법[제네릭타입]

제네릭 타입 Sting, dynamic 으로 설정하면, value값에 실수 들어가도 됨 !

void main() {
  Map<String, dynamic> joinInputForm = {
    'name': 'Sujin',
    'age': 31,
    'height': 161.2,
    'phone': '010 - 0000 - 0000',
  };
}

 

void main() {
  Map<int, String> map = {
  2233: '가나다라', 
  1004: '천사', 
  5678: '테스트'};
  
  print(map);
}

 

빈 Map 선언, 값 할당, 값 업데이트,삭제

void main() {
  Map map = {};
  print(map); //{}

  //key 값 할당
  map['name'] = 'test';
  print(map); //{name: test}
  print(map['name']); // test

  //key 업데이트
  map['name'] = '홍길동';
  print(map);
  print(map['name']);
  
  //key 삭제
  map.remove('name');
  print(map);//{}
  print(map['name']); // null
}

 

Map의 작동방식1

void main() {
  Map<String, dynamic> joinInputForm = {
    'name': 'test',
    'age': 31,
    'height': 170.5,
    'phone': '010-3333-3333',
  };
  print(joinInputForm);
  print(joinInputForm.keys.toList()); //{name,age,height,phone}
  print('${joinInputForm.keys.toList()}'); //{name,age,height,phone}

  print(joinInputForm.length); //4
  print(joinInputForm.values); //{test,31,170.5, 010-3333-3333}

  //포함여부 판단할때
  print(joinInputForm.containsKey('name')); //true
  print(joinInputForm.containsKey('width')); //false

  print('-----clear');
  //claer() 빈 map()으로 바꾼다.
  joinInputForm.clear();
  print(joinInputForm);
}