Les données map dans Dart sont une collection de paires clé-valeur qui ne sont pas séquentielles. Chaque valeur est associée à une clé, ce qui signifie que chaque clé doit être unique, mais la même valeur peut être utilisée plusieurs fois .
Deux éléments possédant la même valeur resteront uniques en ayant des clés distinctes.

La création d’un objet map
Voici un exemple de map où les clés sont les noms des pays et les valeurs sont leurs capitales.
main() {
var pays = {
"France" : "Paris",
"Angleterre" : "Londres",
"Espagne" : "Madrid"
};
print(pays);
}
{France: Paris, Angleterre: Londres, Espagne: Madrid}
De plus, nous pouvons utiliser le constructeur Map()
.
main() {
var pays = Map();
print(pays);
}
{}
Sachez également que nous pouvons utiliser le mot clé new
avec map
.
main() {
var pays = new Map();
print(pays);
}
Déclarer le type de données map
Afin de déclarer le type de données map
nous utiliserons la syntaxe suivante :
main() {
var nombres = Map<int, String>();
print(nombres);
}
Ajouter des éléments map
Nous allons ajouter des éléments à notre map
nombres en déterminant les clés et les valeurs.
main() {
var nombres = Map<int, String>();
nombres[1] = "Un";
nombres[2] = "Deux";
nombres[3] = "Trois";
nombres[4] = "Quatre";
print("nombres = $nombres");
}
Exécution du code.
nombres = {1: Un, 2: Deux, 3: Trois, 4: Quatre}
Dans notre exemple, nous avons déclaré le type de nos éléments, les clés sont de type int
et les valeurs sont de type String
.
Trouver le nombre d’éléments de l’objet map
.
Comme dans les listes, l’objet map
possède une propriété length
qui permet de trouver le nombre de paires Key-Value
dans l’objet.
print(nombres.length);
4
Accéder à une valeur
En utilisant la clé, nous pouvons accéder à sa valeur en utilisant des crochets []
. L’objet map
ne possède pas d’index.
print(nombres[3]);
Trois
De plus, nous pouvons vérifier l’existence d’une clé en utilisant la méthode containsKey
.
main() {
var pays = {
"France" : "Paris",
"Angleterre" : "Londres",
"Espagne" : "Madrid"
};
print(pays.containsKey('France'));
}
true
Si la clé n’existe pas nous aurons false
.
Accéder à toutes les clés et les valeurs
L’objet map
possède une propriété qui permet d’accéder à toutes les clés et les valeurs.
print("Les clés sont : ${pays.keys}");
print("Les valeurs sont : ${pays.values}");
Exécution du code.
Les clés sont : (France, Angleterre, Espagne)
Les valeurs sont : (Paris, Londres, Madrid)
Supprimer la clé
La méthode remove()
, permet de supprimer l’élément clé-valeur spécifié.
pays.remove('Espagne');
print(pays);
{France: Paris, Angleterre: Londres}
Nous avons supprimé un élément en utilisant sa clé.
Comme avec les listes, nous pouvons utiliser d’autres propriétés et méthodes comme :
isEmpty, isNotEmpty, addAll, clear, forEach.
Accéder à une valeur
En utilisant la clé, nous pouvons accéder à sa valeur en utilisant des crochets []. L’objet map ne possède pas d’index.
print(nombres[3]);
On obtient la valeur : 3 ou Trois ?
Merci Olivier, c’est rectifié.