Une table associative est une collection qui associe des valeurs à des clefs (uniques)
Une liste est en soit une table associative entre un index (clef unique) et une valeur
En Java
On a une interface Map, et deux implémentations HashMap et TreeMap
L’interface Map
L’interface prend deux types génériques (et n’hérite pas de Collection, ni de Iterable !).
Consultation
On a les méthodes de consultation
boolean isEmpty()— Vérifie si la table associative est videint size()— Retourne le nombre d’associationsboolean containsKey(Object k)— Vérifie si la table associative contient une clefV get(Object k)— Retourne la valeur associée à une clefV getOrDefault(Object k, V d)— Retourne la valeur associée à une clef, ou la valeur par défaut qui est donnée si il n’existe pas cette clef
Vues sur les clefs et valeurs
On a des méthodes qui permettent d’obtenir des vues sur des clefs, valeurs, ou une vue sur les associations clefs-valeurs.
Set<K> keySet()— Retourne une vue sur l’ensemble des clefsCollection<V> values()— Retourne une vue sur les valeursSet<Map.Entry<K, V>> entrySet()— Retourne une vue sur l’ensembles des associations clefs-valeurs
Si la table est modifiable, ces vues le sont également
L’interface Map.Entry
C’est une interface imbriquée et statique, qui prend deux paramètres du type de la clef et du type de la valeur (génériques).
Vu que c’est une vue, elle a une fonction qui permet de modifier la valeur d’une clef donnée