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

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.

Catégories : Dart

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 ?

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *