Flutter/Dart 문법

[Dart] map(List mapping, Map mapping, Set Mapping)

Chafle 2023. 3. 23. 17:04
반응형

map은 하나의 형태에서 또 다른 형태의 것을 만들어 낼 수 있다.

 

List Mapping

void main() {
List<String> newjeans = ['민지', '하니', '다니엘', '혜린', '혜인'];
  
  final newNewjeans = newjeans.map((x){
    return '뉴진스 $x';
  });
  
  print(newjeans);
  print(newNewjeans);
}

 

 

arrow함수로 표현해보면

  final newNewjeans2 = newjeans.map((x) => '블랙핑크 $x');
  print(newNewjeans2);

 

 

map을 한번 통과하게 되면 List는 계속 새로운 List로 생성 된다. 

List로 받은 형태는 .map이 적용이 가능하다.

 


Map mapping

 

void main() {
  Map<String, String> alphabet = {'A': 'a', 'B': 'b', 'C': 'c'};

  final result = alphabet.map(
    (key, value) => MapEntry(
      '대문자 $key',
      '소문자 $value',
    ),
  );
  
  print(alphabet);
  print(result);
}

 

 

 


Map에서 Key값을 List로 얻고 싶을 때

 

 

void main() {
  Map<String, String> alphabet = {'A': 'a', 'B': 'b', 'C': 'c'};

  final keys = alphabet.keys.map((x) => '대문자 $x').toList();
  final values = alphabet.values.map((x) => '소문자 $x').toList();
  
  print(keys);
  print(values);
}

 

 

 


Set Mapping

 

 

set은 List와 동일하지만 중복을 걸러주는 기능이 있다. 

mapping은 set과 동일하다고 보면 된다.

 

void main() {

Set newjeans = { '민지', '하니', '다니엘', '혜린', '혜인' };
  
  final newNewjeans = newjeans.map((x) => '뉴진스 $x').toSet();

  
  print(newjeans);
  print(newNewjeans);
}
반응형