Los mapas en Dart son una colección de pares clave-valor. Cada clave única se asocia con un valor. Los mapas son útiles cuando necesitas asociar datos de una manera que permita búsquedas rápidas por clave. En este tema, aprenderás cómo trabajar con mapas en Dart, incluyendo su creación, manipulación y uso en diferentes contextos.
Contenido
Introducción a los Mapas
Un mapa es una colección de pares clave-valor, donde cada clave es única. Los mapas son útiles para almacenar datos que necesitan ser recuperados rápidamente mediante una clave.
En el ejemplo anterior, exampleMap
es un mapa que asocia cadenas (String
) con enteros (int
).
Creación de Mapas
Puedes crear mapas de varias maneras en Dart:
Usando Literales de Mapa
Map<String, String> countries = { 'USA': 'Washington, D.C.', 'France': 'Paris', 'Japan': 'Tokyo', };
Usando el Constructor Map()
Usando el Constructor Map.from()
Acceso a Elementos
Puedes acceder a los valores de un mapa usando sus claves:
Map<String, String> countries = { 'USA': 'Washington, D.C.', 'France': 'Paris', 'Japan': 'Tokyo', }; String capital = countries['France']; // 'Paris'
Si intentas acceder a una clave que no existe, obtendrás null
:
Modificación de Mapas
Puedes agregar, actualizar o eliminar elementos en un mapa:
Agregar o Actualizar Elementos
Map<String, String> countries = { 'USA': 'Washington, D.C.', 'France': 'Paris', }; countries['Japan'] = 'Tokyo'; // Agregar countries['France'] = 'Marseille'; // Actualizar
Eliminar Elementos
Iteración sobre Mapas
Puedes iterar sobre los elementos de un mapa usando un bucle for
:
Iterar sobre Claves
Iterar sobre Valores
Iterar sobre Pares Clave-Valor
Métodos y Propiedades Útiles
containsKey()
Verifica si una clave existe en el mapa:
containsValue()
Verifica si un valor existe en el mapa:
length
Obtiene el número de pares clave-valor en el mapa:
isEmpty
y isNotEmpty
Verifica si el mapa está vacío o no:
Ejercicios Prácticos
Ejercicio 1: Crear y Manipular un Mapa
Crea un mapa que asocie nombres de estudiantes con sus calificaciones. Luego, realiza las siguientes operaciones:
- Agrega un nuevo estudiante y su calificación.
- Actualiza la calificación de un estudiante existente.
- Elimina un estudiante del mapa.
- Imprime todos los estudiantes y sus calificaciones.
Solución
void main() { Map<String, int> students = { 'Alice': 85, 'Bob': 92, 'Charlie': 78, }; // Agregar un nuevo estudiante students['David'] = 88; // Actualizar la calificación de un estudiante existente students['Alice'] = 90; // Eliminar un estudiante del mapa students.remove('Charlie'); // Imprimir todos los estudiantes y sus calificaciones for (var entry in students.entries) { print('${entry.key}: ${entry.value}'); } }
Ejercicio 2: Contar la Frecuencia de Palabras
Escribe una función que tome una lista de palabras y devuelva un mapa que contenga la frecuencia de cada palabra.
Solución
Map<String, int> wordFrequency(List<String> words) { Map<String, int> frequency = {}; for (String word in words) { if (frequency.containsKey(word)) { frequency[word] = frequency[word]! + 1; } else { frequency[word] = 1; } } return frequency; } void main() { List<String> words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']; Map<String, int> frequency = wordFrequency(words); print(frequency); // {apple: 3, banana: 2, orange: 1} }
Conclusión
En esta sección, has aprendido sobre los mapas en Dart, incluyendo cómo crearlos, acceder a sus elementos, modificarlos e iterar sobre ellos. Los mapas son una estructura de datos poderosa y flexible que te permitirá manejar datos de manera eficiente. Asegúrate de practicar con los ejercicios proporcionados para reforzar tu comprensión y prepararte para los temas más avanzados.
Curso de Programación en Dart
Módulo 1: Introducción a Dart
- Introducción a Dart
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Dart
- Sintaxis y Estructura Básica