Flutter: Colecciones: Map

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'].

Nota

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.

Videotutorial en YouTube

Recuerda que también puedes ver el video tutorial de este curso en youtube:

Comparte este artículo