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