:: Enseignements :: Master :: M1 :: 2007-2008 :: Java Avancé ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Quelques notes pour le TD6 |
Maps
Les maps sont en quelque sorte des tableaux associatifs qui
permettent de lier un objet clé à un autre objet valeur.
-
Map<K,V>: les associations sont des types
paramétrés par le type des clés (K) et celui des
valeurs associées (V). Toutes les associations sauf
exception :
- acceptent null comme clé ou valeur
-
ne permettent pas les accès concurrents
-
testent si un objet existe ou non par
rapport à la méthode equals() de l'objet
-
L'interface Map définit les méthodes :
- isEmpty(), size(), clear*()
- put*(), get(), remove*()
- Opération groupée : putAll*()
-
Tests : containsKey(), containsValue()
-
Vues : keySet(), values(), entrySet()
L'interface
Map définit les méthodes d'accès
-
V put(K clé, V valeur) - associe une clé à une
valeur, renvoie l'ancienne valeur ou null
-
V get(Object clé) - demande la valeur pour une clé,
null si il n'y a pas d'association
-
boolean remove(Object clé) - supprime le couple
clé/valeur à partir d'une clé, vrai si l'association
a été modifiée
Interface (interne) définissant un couple clé/valeur. Elle
est paramétrée par le type de la clé (
K) et le type de la
valeur (
V).
Map.Entry possède les méthodes :
-
K getKey() : renvoie la clé
-
V getValue() : renvoie la valeur
-
V setValue(V value) : change la valeur, renvoie
l'ancienne
La classe
HashMap est une implémentation de l'interface
Map
et une extension de la classe
AbstractMap.
Les objets HashMap ne garantissent pas l'ordre des éléments
durant une itération de l'associations, contrairement aux
collections TreeMap. En effet, la fonction de hachage
disperse les éléments au sein d'une collection Map.
Néanmoins, les performances des objets implantant cette
classe restent constantes pour les opérations de base,
telles que l'ajout (put()), l'extraction (get()).
© Université de Marne-la-Vallée