Leçon 39 : Travailler avec l'interface Map
Une Map est une collection utilisée pour stocker des données sous forme de paires clé-valeur. Elle fournit un moyen efficace de récupérer une valeur à partir de sa clé unique.
1. Caractéristiques clés des Maps
- Chaque clé doit être unique.
- Les valeurs peuvent être des doublons.
- Les clés sont utilisées pour la recherche ; les valeurs sont les données stockées.
2. HashMap
- Implémentation : Utilise une table de hachage.
- Performance : Très rapide (O(1)) pour les opérations
put,getetremove, en supposant de bonnes clés. - Ordre : Aucun ordre garanti.
java import java.util.HashMap; import java.util.Map;
// Map<Type Clé, Type Valeur> Map<String, Integer> studentAges = new HashMap<>();
// Ajouter des éléments studentAges.put("Charlie", 22); studentAges.put("Mia", 24); studentAges.put("Ben", 22); // Les valeurs peuvent être dupliquées studentAges.put("Charlie", 23); // La clé doit être unique, remplace l'ancienne valeur (22 -> 23)
// Récupérer des éléments System.out.println("Âge de Mia : " + studentAges.get("Mia")); // Sortie : 24 System.out.println(studentAges.containsKey("Ben")); // true
3. Parcourir une Map
Les Maps ne peuvent pas être parcourues directement. Vous devez obtenir l'une de ces trois vues :
- Key Set : Utilisez
map.keySet()pour obtenir unSetde toutes les clés. - Values : Utilisez
map.values()pour obtenir uneCollectionde toutes les valeurs. - Entry Set : Utilisez
map.entrySet()pour obtenir unSetd'objetsMap.Entry<K, V>(le plus efficace pour accéder simultanément à la clé et à la valeur).
java for (Map.Entry<String, Integer> entry : studentAges.entrySet()) { System.out.println(entry.getKey() + " a " + entry.getValue() + " ans"); }
4. TreeMap
- Stocke les clés dans leur ordre de tri naturel (ou en utilisant un Comparator).
- Plus lent que
HashMap(O(log N)) mais permet une itération triée.