Interface Java Map – Guide Complet sur Map, Ses Implémentations et Méthodes Clés
Interface Java Map
Ce tutoriel plonge dans l'interface Map de Java, couvrant sa structure, implémentations, méthodes clés et utilisation réelle.
L'interface Map, partie du package java.util, fournit l'échafaudage pour les collections de paires clé/valeur dans le framework de collections Java.
Fonctionnement de Map
En Java, une Map stocke les données sous forme de paires clé/valeur uniques. Chaque clé est distincte et mappe vers une seule valeur, assurant qu'aucune clé dupliquée n'existe.
Nous pouvons récupérer ou mettre à jour une valeur en référençant sa clé.
Notamment, l'interface Map gère trois collections distinctes :
- Un ensemble de toutes les clés
- Un ensemble de toutes les valeurs
- Un ensemble de toutes les associations clé/valeur (entrées)
Ces ensembles vous permettent d'accéder aux clés, valeurs ou entrées indépendamment.
Classes Implémentant Map
Puisque Map est une interface, vous ne pouvez pas l'instancier directement. Utilisez plutôt l'une des classes concrètes suivantes, toutes résidant dans le package java.util :
HashMapEnumMapLinkedHashMapWeakHashMapTreeMap
Sous-interfaces Étendant Map
L'interface Map est étendue par plusieurs sous-interfaces spécialisées qui ajoutent des garanties d'ordre ou de concurrence :
SortedMap– Maintient les entrées triées par clés.NavigableMap– ÉtendSortedMapavec des méthodes de navigation.ConcurrentMap– Fournit des opérations thread-safe.
Utilisation de Map dans Votre Code
Importez d'abord l'interface :
import java.util.Map;
Puis créez une instance concrète. Par exemple, en utilisant HashMap :
// Implémentation Map utilisant HashMap
Map<Key, Value> numbers = new HashMap<>();
Ici, Key représente un identifiant unique, tandis que Value contient les données associées.
Méthodes Principales de Map
Au-delà des méthodes de l'interface Collection, Map offre des opérations spécialisées :
- put(K, V) – Ajoute une paire clé/valeur ; remplace la valeur si la clé existe déjà.
- putAll() – Fusionne les entrées d'une autre map dans celle-ci.
- putIfAbsent(K, V) – Insère seulement si la clé n'est pas déjà mappée.
- get(K) – Récupère la valeur pour une clé donnée, ou
nullsi absente. - getOrDefault(K, defaultValue) – Retourne la valeur mappée ou une valeur par défaut spécifiée.
- containsKey(K) – Vérifie la présence d'une clé.
- containsValue(V) – Vérifie la présence d'une valeur.
- replace(K, V) – Met à jour la valeur pour une clé.
- replace(K, oldValue, newValue) – Remplacement conditionnel quand la valeur courante correspond.
- remove(K) – Supprime l'entrée pour une clé.
- remove(K, V) – Supprime l'entrée seulement si la clé mappe vers la valeur spécifiée.
- keySet() – Retourne un
Setde toutes les clés. - values() – Retourne une
Collectionde toutes les valeurs. - entrySet() – Retourne un
Setde tous les mappings clé/valeur.
Exemples d'Implémentations Map
1. Exemple HashMap
import java.util.Map;
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// Création d'une map utilisant HashMap
Map<String, Integer> numbers = new HashMap<>();
// Insérer des éléments dans la map
numbers.put("One", 1);
numbers.put("Two", 2);
System.out.println("Map: " + numbers);
// Accéder aux clés de la map
System.out.println("Clés: " + numbers.keySet());
// Accéder aux valeurs de la map
System.out.println("Valeurs: " + numbers.values());
// Accéder aux entrées de la map
System.out.println("Entrées: " + numbers.entrySet());
// Supprimer un élément de la map
int value = numbers.remove("Two");
System.out.println("Valeur Supprimée: " + value);
}
}
Sortie
Map: {One=1, Two=2} Clés: [One, Two] Valeurs: [1, 2] Entrées: [One=1, Two=2] Valeur Supprimée: 2
Pour plus de détails sur HashMap, visitez Java HashMap.
2. Exemple TreeMap
import java.util.Map;
import java.util.TreeMap;
class Main {
public static void main(String[] args) {
// Création d'une Map utilisant TreeMap
Map<String, Integer> values = new TreeMap<>();
// Insérer des éléments dans la map
values.put("Second", 2);
values.put("First", 1);
System.out.println("Map utilisant TreeMap: " + values);
// Remplacer les valeurs
values.replace("First", 11);
values.replace("Second", 22);
System.out.println("Nouvelle Map: " + values);
// Supprimer des éléments de la map
int removedValue = values.remove("First");
System.out.println("Valeur Supprimée: " + removedValue);
}
}
Sortie
Map utilisant TreeMap: {First=1, Second=2} Nouvelle Map: {First=11, Second=22} Valeur Supprimée: 11
Pour plus de détails sur TreeMap, visitez Java TreeMap.
Java
- Maîtriser les interfaces C# : Définition, implémentation et cas d'utilisation pratiques
- Maîtriser les opérateurs Java : Types, syntaxe et exemples pratiques
- Maîtriser les interfaces Java : concepts, implémentation et bonnes pratiques
- Maîtriser le try-with-resources Java : gestion automatique des ressources expliquée
- Annotations Java expliquées : types, placement et exemples pratiques
- Maîtriser l'interface NavigableSet de Java : Navigation, tri et exemples pratiques
- Interface vs Classe Abstraite en Java : Comment Choisir la Bonne Abstraction
- Comprendre les interfaces Java : Définitions, Usages et Bonnes pratiques
- Java 9 : Méthodes factory de collections — List, Set, Map immuables simplifiés