프로그래밍 언어/Dart

Dart Map 사용법 및 예제. 효율적인 데이터 관리를 위한 의 생성과 관리 방법 - Dart 기초 #14

eco7T 2024. 6. 18. 08:50
반응형

Dart 프로그래밍 언어에서 맵(Map) 자료구조의 사용법을 설명하기 위해 작성되었습니다. 맵은 키(Key)와 값(Value) 쌍으로 데이터를 저장하고 관리하는 데 유용한 자료구조로, 효율적인 데이터 접근을 가능하게 합니다. 맵의 생성, 추가, 수정, 삭제, 조회 및 반복을 포함한 다양한 작업을 예시 코드와 함께 자세히 설명하여, Dart 프로그래밍에서 맵을 효과적으로 활용할 수 있도록 정리해 보겠습니다.

Dart Map 사용법 및 예제
Dart Map 사용법 및 예제

 

Dart 맵(Map)

맵(Map)은 키(Key)와 값(Value)의 쌍으로 이루어진 자료구조입니다. 맵에서 키는 고유한 값으로, 값을 찾기 위해 사용됩니다. 값은 키에 연결되어 저장되며, 키를 통해 값을 가져올 수 있습니다.

 

1. Dart에서 맵을 생성하는 방법은 다음과 같습니다:

var map1 = {'key1': 'value1', 'key2': 'value2'}; Map<String, int> map2 = {'apple': 1, 'banana': 2, 'orange': 3};

위의 예시에서  map1 은  dynamic  타입의 키와 값을 가지는 맵이고,  map2 는  String  타입의 키와  int  타입의 값을 가지는 맵입니다.

 

2. 맵에 값을 추가하거나 수정하는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2'}; map['key3'] = 'value3';// 새로운 키-값 쌍 추가 map['key1'] = 'new value'; // 기존 키의 값 수정

 

3. 맵에서 값을 가져오는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2'}; print(map['key1']); // 'value1' 출력

 

4. 맵에 특정 키가 존재하는지 확인하는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2'}; print(map.containsKey('key1')); // true 출력 print(map.containsKey('key3')); // false 출력
반응형

5. 맵을 반복 하면서 키와 값을 가져오는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; map.forEach((key, value) { print('$key: $value'); });

위의 코드는 맵의 각 키-값 쌍을 반복하면서 키와 값을 출력합니다.

 

6. 맵의 크기(길이)를 가져오는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; print(map.length); // 3 출력

 

7. 맵에서 특정 키-값 쌍을 제거하는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; map.remove('key2'); print(map); // {key1: value1, key3: value3} 출력

8. 맵의 모든 키-값 쌍을 제거하는 방법은 다음과 같습니다:

var map = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}; map.clear(); print(map); // {} 출력

 

실제 예시:

void main() { // 학생 정보를 저장하는 맵 Map<String, dynamic> student = { 'name': '홍길동', 'age': 20, 'major': '컴퓨터공학', 'grades': {'수학': 'A', '영어': 'B', '프로그래밍': 'A+'} }; // 학생 정보 출력 print('이름: ${student['name']}'); print('나이: ${student['age']}'); print('전공: ${student['major']}'); // 학생의 성적 출력 print('성적:'); student['grades'].forEach((subject, grade) { print(' $subject: $grade'); }); // 학생의 평균 성적 계산 var totalGrade = 0; var gradeMap = { 'A+': 4.5, 'A': 4.0, 'B+': 3.5, 'B': 3.0, 'C+': 2.5, 'C': 2.0, 'D+': 1.5, 'D': 1.0, 'F': 0.0 }; student['grades'].forEach((subject, grade) { totalGrade += gradeMap[grade]; }); var avgGrade = totalGrade / student['grades'].length; print('평균 학점: ${avgGrade.toStringAsFixed(2)}'); }

위의 예시에서는 학생 정보를 저장하는 맵을 생성하고, 맵에 저장된 학생 정보를 출력합니다. 또한, 학생의 성적을 반복하면서 출력하고, 평균 학점을 계산하여 출력합니다.

 

맵은 키-값 쌍으로 데이터를 저장하고 관리하는 데 유용한 자료구조입니다. 키를 통해 값에 빠르게 접근할 수 있으며, 다양한 타입의 데이터를 저장할 수 있습니다. 맵을 사용 하면 관련된 데이터를 그룹화하고 효율적으로 관리할 수 있습니다.

반응형