Utilisation des tableaux associatifs

Dart:
Utilisation des tableaux associatifs

Comment faire :

Dart offre une syntaxe simple pour créer et manipuler des Maps. Ci-dessous, des exemples démontrant les opérations de base telles que la création, l’ajout d’éléments et la récupération de valeurs.

void main() {
  // Création d'une map
  var fruitColors = {
    'apple': 'red',
    'banana': 'yellow',
    'grape': 'purple'
  };

  // Ajout d'une nouvelle paire clé-valeur
  fruitColors['orange'] = 'orange';

  // Accès à une valeur par sa clé
  print(fruitColors['apple']); // Sortie : red

  // Mise à jour d'une valeur
  fruitColors['banana'] = 'green';

  // Itération sur la Map
  fruitColors.forEach((fruit, color) {
    print('$fruit: $color');
  });
  // Exemple de sortie :
  // apple: red
  // banana: green
  // grape: purple
  // orange: orange
}

Pour des structures de données complexes ou une fonctionnalité étendue, les programmeurs Dart s’appuient souvent sur des bibliothèques supplémentaires. Une de ces bibliothèques est collection, qui fournit des types de collection avancés et des utilitaires. Bien que collection ne modifie pas la manière fondamentale de gérer les Maps, elle les enrichit avec des fonctions utilitaires et des types de collection plus sophistiqués. Voici comment vous pourriez l’utiliser pour une tâche plus spécifique, comme trier une Map par ses valeurs :

D’abord, assurez-vous que le package collection est inclus dans votre fichier pubspec.yaml :

dependencies:
  collection: ^1.15.0

Ensuite, vous pouvez l’utiliser de la manière suivante :

import 'package:collection/collection.dart';

void main() {
  var fruitColors = {
    'apple': 'red',
    'banana': 'yellow',
    'grape': 'purple',
    'orange': 'orange'
  };

  // Trier la Map par ses valeurs (couleurs)
  var sortedFruitsByColor = SplayTreeMap.from(
    fruitColors,
    (key1, key2) => fruitColors[key1]!.compareTo(fruitColors[key2]!)
  );

  print(sortedFruitsByColor);
  // Sortie :
  // {orange: orange, apple: red, banana: yellow, grape: purple}
}

Cet exemple démontre le tri des entrées d’une Map basé sur leurs valeurs, montrant comment Dart et son écosystème dynamique peuvent habilement gérer les tableaux associatifs pour une manipulation de données plus sophistiquée.