Saltar al contenido principal

Map

Youtube video player

Youtube video player

Anteriormente, aprendimos que List es un tipo de colección que permite almacenar valores de forma ordenada. Un Map permite almacenar datos asociando una llave a un valor.

Un objeto es usado como la llave y otro objeto es usado como el valor. Por ejemplo vamos a crear un Map donde las llaves sean un color y el valor sea su código hexadecimal.

var colorHex = {
// llave: valor
'blanco': '#FFFFFF',
'azul': '#0000FF',
'rojo': '#FF0000'
};

print(colorHex['blanco']);
print(colorHex['azul']);
print(colorHex['rojo']);

Podemos ver que el primer par llave-valor es 'blanco' y #FFFFFF, dar infiere que el tipo de Mapa es Map<String,String> ya que la llave y su valor son del tipo String.

Para acceder al valor utilizamos la llave: colorHex['blanco'].

info

Se pueden crear mapas con diferentes tipos como Map<int,int> o Map<int, String>, etc. Es muy importante recordar que las llaves son únicas, es decir no puedes tener 2 llaves con el mismo valor.

Podemos obtener el tamaño del mapa de la siguiente manera, que en el ejemplo anterior es tres:

colorHex.length;

Si queremos saber si la lista está vacía podemos revisar si colorHex.length == 0. O podemos usar la función isEmpty:

colorHex.isEmpty;

Para saber si la lista contiene una llave en específico podemos usar la función containsKey:

colorHex.containsKey('blanco');

Podemos agregar más elementos de la siguiente manera:

colorHex['verde']='00FF00';

Para borrar todos los elementos del mapa usamos la función clear:

colorHex.clear()

Puedes correr el ejemplo en DartPad para que veas el funcionamiento de los mapas.