Dart의 형변환 - List, Map, Set

2022. 6. 22. 19:03DEV/Dart

반응형

간단하게 List, Map, Set의 형변환을 알아보자.

사실 알아본다기 보다는 메모해두자~

List

void main() {
  List<String> bts = ['RM', 'Jin', 'Suga', 'J-Hope', 'Jimin', 'V', 'JK', 'RM'];
  print(bts);
  print(bts.asMap()); // List -> Map
  print(bts.toSet()); // List -> Set
}
=>
[RM, Jin, Suga, J-Hope, Jimin, V, JK, RM]
{0: RM, 1: Jin, 2: Suga, 3: J-Hope, 4: Jimin, 5: V, 6: JK, 7: RM}
{RM, Jin, Suga, J-Hope, Jimin, V, JK}

Map

void main() {
  Map btsMap = bts.asMap(); // List -> Map => key: List의 index로 지정됨
  print(btsMap);

  // keys & values
  print(keys);
  print(values);
  print(btsMap.keys.runtimeType);

  // keys & values -> list
  print(keys.toList());
  print(btsMap.values.toList());
}
=>
{0: RM, 1: Jin, 2: Suga, 3: J-Hope, 4: Jimin, 5: V, 6: JK, 7: RM}
(0, 1, 2, 3, 4, 5, 6, 7) // keys
(RM, Jin, Suga, J-Hope, Jimin, V, JK, RM) // values
_ListIndicesIterable // keys.runtimeType
[0, 1, 2, 3, 4, 5, 6, 7] // keys to List
[RM, Jin, Suga, J-Hope, Jimin, V, JK, RM] // values to List

Set

void main() {
  Set btsSet = Set.from(bts);
  print(btsSet); // -> 중복 제거 확인
  print(btsSet.toList());
}
=>
{RM, Jin, Suga, J-Hope, Jimin, V, JK}
[RM, Jin, Suga, J-Hope, Jimin, V, JK] // Set to List
반응형

'DEV > Dart' 카테고리의 다른 글

Dart Async programming - Stream  (0) 2022.06.24
Dart Async programing - Future, await  (0) 2022.06.23
Dart의 함수를 알아보자  (0) 2022.06.22
Dart - Null safety & Dart Codelab Exercise  (0) 2022.06.21
Dart 시작하기 - 구조 및 변수  (0) 2022.06.21