Dart 언어 오답노트 : 28. 형변환

샤워실의 바보·2023년 10월 26일
0
post-thumbnail
void main() {
  List<String> blackPink = [
    '로제',
    '지수',
    '리사',
    '제니',
    '제니',
  ];
  print(blackPink);
  print(blackPink.asMap());
  print(blackPink.toSet());
    
  Map blackPinkMap = blackPink.asMap();
  // Iterable<dynamic> get keys
  print(blackPinkMap.keys);
  // Iterable<dynamic> get values
  print(blackPinkMap.values); 
  
 // List<dynamic> toList({bool growable = true})
  print(blackPinkMap.keys.toList());
  print(blackPinkMap.values.toList());
  
  Set blackPinkSet = Set.from(blackPink);
  print(blackPinkSet);
  print(blackPinkSet.toList());
}

이 Dart 프로그램은 List<String> 타입의 blackPink 리스트를 사용하여 다양한 컬렉션 관련 연산들을 수행합니다.

1. 리스트 생성과 출력

List<String> blackPink = [
  '로제',
  '지수',
  '리사',
  '제니',
  '제니',
];

위 코드에서 blackPink 리스트를 생성하고 초기화합니다. 리스트에는 5개의 문자열 요소가 포함되어 있으며, '제니'는 중복으로 포함되어 있습니다.

print(blackPink);

print 함수를 사용해 리스트의 모든 요소를 출력합니다.

출력 결과:

[로제, 지수, 리사, 제니, 제니]

2. 리스트를 맵으로 변환

print(blackPink.asMap());

asMap 메서드를 사용해 리스트를 맵으로 변환합니다. 리스트의 인덱스가 키로, 해당 요소가 값으로 사용됩니다.

출력 결과:

{0: 로제, 1: 지수, 2: 리사, 3: 제니, 4: 제니}

3. 리스트를 세트로 변환

print(blackPink.toSet());

toSet 메서드를 사용해 리스트를 세트로 변환합니다. 세트는 중복된 요소를 허용하지 않기 때문에, 중복된 '제니'는 하나만 남게 됩니다.

출력 결과:

{로제, 지수, 리사, 제니}

4. 맵의 키와 값 출력

Map blackPinkMap = blackPink.asMap();
print(blackPinkMap.keys);
print(blackPinkMap.values);

맵의 keys 속성과 values 속성을 사용해 키와 값을 Iterable 형태로 출력합니다.

출력 결과:

(0, 1, 2, 3, 4)
(로제, 지수, 리사, 제니, 제니)

5. Iterable을 리스트로 변환

print(blackPinkMap.keys.toList());
print(blackPinkMap.values.toList());

toList 메서드를 사용해 Iterable을 리스트로 변환합니다.

출력 결과:

[0, 1, 2, 3, 4]
[로제, 지수, 리사, 제니, 제니]

6. 세트를 리스트로 변환

Set blackPinkSet = Set.from(blackPink);
print(blackPinkSet.toList());

toList 메서드를 사용해 세트를 리스트로 변환합니다.

출력 결과 (중복된 '제니'가 제거된 것을 확인할 수 있습니다):

[로제, 지수, 리사, 제니]

결론

이 프로그램은 Dart에서 리스트, 맵, 세트 간의 변환 및 이들의 메서드 사용법을 잘 보여주고 있습니다. Iterable을 리스트로 변환하는 과정과 리스트의 중복 요소를 제거하는 방법 등도 포함되어 있어 컬렉션과 관련된 기초적인 작업들을 이해하는 데 도움이 됩니다.

profile
공부하는 개발자

0개의 댓글