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.
![map](https://i0.wp.com/pythonforge.com/wp-content/uploads/2021/08/map.jpg?resize=549%2C381&ssl=1)
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.
2 commentaires
Olivier · 19 janvier 2022 à 15 h 37 min
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 ?
pythonforge · 25 janvier 2022 à 21 h 07 min
Merci Olivier, c’est rectifié.