void main() {
List<String> blackPink = [
'로제',
'지수',
'리사',
'제니',
];
final newBlackPink1 = blackPink.map((member) {
return '블랙핑크 $member';
});
print(blackPink);
print(newBlackPink1.toList());
final newBlackPink2 = blackPink.map((member) => '블랙핑크 $member');
print(blackPink);
print(newBlackPink2.toList());
print(blackPink == newBlackPink1);
print(blackPink == newBlackPink2);
// [1.jpg, 3.jpg, 5.jpg, 7.jpg, 9.jpg]
String number = '13579';
final parsed = number.split('').map((member) => '$member.jpg').toList();
print(parsed);
Map<String, String> dictionary = {
'Harry Potter': '해리 포터',
'Ron': '론',
'Hermione': '헤르미온느',
};
print(dictionary['Ron']);
final keys = dictionary.keys.map((member) => 'HPC $member').toList();
final values = dictionary.values.map((member) => '해리 포터 $member').toList();
print(keys);
print(values);
final result = dictionary.map(
(key, value) => MapEntry(
'영어 $key',
'한국어 $value\n',
),
);
print(dictionary);
print(result);
Set<String> blackPinkSet = {
'로제',
'지수',
'리사',
'제니',
};
final newSet = blackPinkSet.map((member) => '블랙핑크 $member').toSet();
print(newSet);
}
이 Dart 프로그램은 리스트(List), 맵(Map), 세트(Set)와 map
함수를 이용해 데이터를 변환하고 출력하는 방법을 보여주고 있습니다.
blackPink
리스트에는 블랙핑크의 멤버 이름이 문자열로 저장되어 있습니다. map
함수를 사용하여 각 멤버의 이름 앞에 "블랙핑크 "라는 문자열을 추가합니다.
final newBlackPink1 = blackPink.map((member) {
return '블랙핑크 $member';
});
print(newBlackPink1.toList());
map
함수는 리스트의 각 요소를 순회하면서 주어진 함수를 적용하고, 결과를 새로운 Iterable
객체로 반환합니다. 이 예제에서는 toList()
함수를 사용하여 결과를 리스트로 변환한 다음 출력합니다.
출력 결과:
[블랙핑크 로제, 블랙핑크 지수, 블랙핑크 리사, 블랙핑크 제니]
final newBlackPink2 = blackPink.map((member) => '블랙핑크 $member');
print(newBlackPink2.toList());
이 예제에서는 화살표 함수를 사용하여 코드를 좀 더 간결하게 만들었습니다. 결과는 위와 동일합니다.
print(blackPink == newBlackPink1); // false
print(blackPink == newBlackPink2); // false
blackPink
리스트와 newBlackPink1
, newBlackPink2
의 결과를 비교합니다. 둘 다 false
를 반환합니다. 왜냐하면 newBlackPink1
과 newBlackPink2
는 Iterable<String>
타입이고, blackPink
는 List<String>
타입이기 때문입니다.
String number = '13579';
final parsed = number.split('').map((digit) => '$digit.jpg').toList();
print(parsed);
number
문자열을 한 자리씩 분리하고, 각 숫자 뒤에 ".jpg"를 붙입니다. 결과는 리스트로 변환되어 출력됩니다.
출력 결과:
[1.jpg, 3.jpg, 5.jpg, 7.jpg, 9.jpg]
Map<String, String> dictionary = {
'Harry Potter': '해리 포터',
'Ron': '론',
'Hermione': '헤르미온느',
};
dictionary
맵에는 해리 포터 시리즈의 캐릭터 이름과 그들의 한국어 번역이 저장되어 있습니다.
final keys = dictionary.keys.map((key) => 'HPC $key').toList();
final values = dictionary.values.map((value) => '해리 포터 $value').toList();
print(keys);
print(values);
keys
와 values
속성을 사용하여 맵의 키와 값을 각각 리스트로 변환하고 출력합니다.
출력 결과:
[HPC Harry Potter, HPC Ron, HPC Hermione]
[해리 포터 해리 포터, 해리 포터 론, 해리 포터 헤르미온느]
final result = dictionary.map(
(key, value) => MapEntry(
'영어 $key',
'한국어 $value',
),
);
print(result);
map
함수를 사용하여 맵의 모든 키-값 쌍을 새로운 키-값 쌍으로 변환합니다.
Set<String> blackPinkSet = {
'로제',
'지수',
'리사',
'제니',
};
final newSet = blackPinkSet.map((member) => '블랙핑크 $member').toSet();
print(newSet);
blackPinkSet
세트에는 블랙핑크 멤버들의 이름이 저장되어 있습니다. map
함수를 사용하여 각 멤버 이름 앞에 "블랙핑크 "를 추가하고 결과를 세트로 변환하여 출력합니다.
출력 결과:
{블랙핑크 로제, 블랙핑크 지수, 블랙핑크 리사, 블랙핑크 제니}
이 코드는 Dart의 map
함수를 사용하여 다양한 종류의 컬렉션을 변환하고 새로운 컬렉션을 생성하는 방법을 보여줍니다. map
함수는 매우 유연하고 강력하며, 컬렉션의 데이터를 처리할 때 유용하게 사용될 수 있습니다.