les Maps imbriquées en Dart
Les Maps imbriquées en Dart
Objectifs
- Comprendre la structure d’une Map imbriquée en Dart
- Savoir créer et manipuler des Maps imbriquées
- Lire et écrire des données dans une Map imbriquée
-
Présentation
- Une Map imbriquée est une Map dont les valeurs sont elles-mêmes des Maps.
- Utile pour représenter des données complexes, comme des objets JSON ou des structures hiérarchiques.
-
Syntaxe de base d’une Map imbriquée
- La clé principale est un
String
(ex: ‘personne1’) - Chaque valeur est une autre Map avec des propriétés comme
nom
etâge
-
Exemple 1 : Accéder à une valeur imbriquée
- On accède à une valeur imbriquée en utilisant deux clés successives
etudiants['etudiant2']?['nom']
renvoie « Hichem »- L’opérateur
?
permet d’éviter les erreurs si la clé n’existe pas -
Exemple 2 : Ajouter une nouvelle entrée à une Map imbriquée
produits['p3']
ajoute une nouvelle Map imbriquée- La méthode
forEach
permet de parcourir et d’afficher toutes les entrées -
Résumé
- Les Maps imbriquées permettent de structurer des données complexes.
- Syntaxe :
Map<clé, Map<clé, valeur>>
- On accède à une donnée en
map[clé1]?[clé2]
- On peut modifier, ajouter ou supprimer des sous-Maps comme dans une Map normale.
Map<String, Map<String, dynamic>> mapImbriquee = {
'personne1': {
'nom': 'Ali',
'âge': 25,
},
'personne2': {
'nom': 'Sami',
'âge': 30,
},
};
void main() {
Map<String, Map<String, dynamic>> etudiants = {
'etudiant1': {'nom': 'Sarah', 'moyenne': 14.5},
'etudiant2': {'nom': 'Hichem', 'moyenne': 16.2},
};
print("Nom de l'étudiant 2 : ${etudiants['etudiant2']?['nom']}");
}
void main() {
Map<String, Map<String, dynamic>> produits = {
'p1': {'nom': 'Stylo', 'prix': 1.2},
'p2': {'nom': 'Cahier', 'prix': 2.5},
};
produits['p3'] = {'nom': 'Gomme', 'prix': 0.6};
print("Liste des produits :");
produits.forEach((cle, valeur) {
print("$cle → ${valeur['nom']} coûte ${valeur['prix']} DT");
});
}