Home | Contact |
---|
Dictionnary, Map.
Associer des valeurs à des clés.
Un dictionnaire associe une valeur unique à une clé unique.
Des dictionnaires peuvent être réalisés au travers de :
En Java les dictionnaires sont représentés
par des classes implémentant java.util.Map
. fournissant
un accès à :
Set keySet()
Collection
values()
L'obtention de la valeur d'une clé étant obtenue via myValue
= myMap.get (myKey)
Les clés et valeurs étant des collection, on peut itérer sur chacune d'entre
elles. Cependant, si l'on souhaite effectuer un traitement sur chaque couple
clé-valeur, il est plus efficace d'itérer sur les entrées (Set entrySet()
) du tableau
de hâchage et travailler sur le couple clé-valeur (Map.Entry
) plutôt
que de rechercher à chaque itération la valeur de chaque clé :
Iterator mapEntriesIterator = myMap.entrySet().iterator();
while (mapEntriesIterator.hasNext()) {
Map.Entry mapEntry = (Map.Entry) mapEntriesIterator.next();
Object entryKey = mapEntry.getKey();
Object entryValue = mapEntry.getValue();
}
Dictionnaires | Implémentations de Map | Commentaire | |||
---|---|---|---|---|---|
Tableau de hâchage | Arbre équilibré | Tableau de hachâge + liste chaînée | |||
Type | Hashtable |
HashMap |
TreeMap |
LinkedHashMap |
|
Triable | Non | Oui | |||
Synchronisé | Oui | Non | Non | Non | La synchronisation permet à un dictionnaire d'être thread-safe (toujours cohérent en contexte multi-thread). Par contre les dictionnaire non synchronisés sont plus rapides, et donc plus avantageux dans des contextes mono-thread. |
Clés nulles possibles | Non | Oui | Dépend du comparateur | ||
Valeurs nulles possibles | Non | Oui | |||
Trié | Non | Non | Oui | Non | |
Commentaire | < J2SE 1.2 | ||||
Coût accès | log(n) |
Des exemples de dictionnaires sont :
Home | Contact |
---|