L'interface Map permet aux objets qui l'implémente de disposer d'un ensemble de méthodes destinées à manipuler des collections contenant des valeurs associées à des clés.
Les objets implémentant l'interface Map ne peuvent contenir des clés dupliquées. Chaque clé doit correspondre au maximum à une seule valeur. Autrement dit, les clés doivent être uniques.
Les objets Map tels que AbstractMap, HashMap, Hashtable, IdentityHashMap, TreeMap et WeakHashMap, dépendent de deux méthodes particulièrement importantes pour le fonctionnement de ces collections. En effet, les méthodes hashCode() et equals() permettent respectivement de calculer le code de hachage des clés, et de tester l'égalité entre deux objets clés. Lors de la récupération d'une valeur par la méthode get(), de l'ajout d'une entrée par put() ou encore de la suppression d'une paire clé/valeur par remove(), les méthodes equals() et hashCode() y jouent un rôle fondamentale, car elles sont chargées d'assurer la cohérence de la collection. Par exemple, si une nouvelle entrée doit être ajoutée à la collection, et que la clé y est déjà présente, il faut remplacer la valeur de cette clé et non rajouter une nouvelle paire clé/valeur.
L'interface Map a rendue obsolète la classe abstraite Dictionary.
L'interface Map fournit plusieurs ensembles de méthodes :
La classe imbriquée Map.Entry consitue une entrée au sein d'un objet implémentant l'interface Map. Les objets Map.Entry sont accessibles au sein de l'objet Set résultant de l'appel de la méthode entrySet().
Les classes imbriquées |
---|
static interface Map.Entry |
représente une entrée (clé -> valeur) d'une collection Map. |
Les méthodes |
---|
void clear() |
supprime toutes les paires clé/valeur de la collection. |
boolean containsKey(Object key) |
retourne true si la collection contient une paire clé/valeur correspondant à la clé spécifiée. |
boolean containsValue(Object value) |
retourne true si la collection contient une ou plusieurs clés pointant la valeur spécifiée. |
Set entrySet() |
retourne un objet Set contenant toutes les entrées de la collection. |
boolean equals(Object o) |
teste l'égalité entre l'objet Map et un autre objet. |
Object get(Object key) |
reetourne la valeur correspondant à la clé spécifiée. |
int hashCode() |
retourne le code de hachage. |
boolean isEmpty() |
retourne true si la collection ne contient aucune entrée. |
Set keySet() |
retourne un objet Set contenant les clés de l'objet Map. |
Object put(Object key, Object value) |
associe la valeur spécifiée à la clé donnée au sein de la collection. |
void putAll(Map t) |
copie toutes les paires clé/valeur de la collection spécifiée au sein de l'objet Map. |
Object remove(Object key) |
supprime la paire clé/valeur correspondant à la clé spécifiée. |
int size() |
retourne le nombre d'entrées dans la collection. |
Collection values() |
retourne un objet Collection contenant les valeurs de l'objet Map. |