La classe Dictionary est une classe abstraite permettant d'associer des clés à des valeurs, à l'image d'un dictionnaire faisant correspondre un mot à une définition.

Les clés et les valeurs peuvent être des objets de n'importe quel type Java. La valeur null n'est pas supportée par un objet Dictionary. Dans un objet Dictionary, chaque clé doit être associée à au moins une valeur.

L'implémentation de la classe Dictionary est la classe Hashtable.

public class Hashtable extends Dictionary
                    implements Map, Cloneable, Serializable {
    //Instructions...
}

La méthode equals() doit être utilisée par les implémentations de cette classe, afin de pouvoir effectuer un test d'égalité entre des clés. Lors de la recherche d'une valeur avec la méthode get(), de l'ajout d'une paire clé/valeur avec la méthode put() ou de la suppression d'une paire clé/valeur avec la méthode remove(), la méthode equals() est appelée automatiquement afin de vérifier la présence d'une clé par rapport à un objet spécifié.

Une énumération des clés ou des valeurs peut être obtenue par l'intermédiaire respectivement les méthodes keys() et elements().

La taille d'un objet Dictionary, c'est-à-dire, son nombre d'entrées, est accessible via la méthode size() et il est possible de vérifier si le dictionnaire contient des paires clé/valeur en utilisant la méthode isEmpty().

La classe Dictionary est rendue obsolète depuis le JDK 1.2, par l'interface Map implémentant les collections HashMap, TreeMap, Hashtable et SortedMap. Il est préférable d'implémenter l'interface Map plutôt que d'étendre une classe abstraite.

Les constructeurs
Dictionary()
crée un nouvel objet Dictionary.

Les méthodes
abstract Enumeration elements()
retourne une énumération des valeurs du dictionnaire.
abstract Object get(Object key)
retourne la valeur pointée par la clé spécifiée au sein de la collection.
abstract boolean isEmpty()
vérifie si le dictionnaire ne contient aucune entrée.
abstract Enumeration keys()
retourne une énumération des clés du dictionnaire.
abstract Object put(Object key, Object value)
associe une valeur spécifiée à une clé donnée au sein du dictionnaire.
abstract Object remove(Object key)
supprime l'entrée correspondant à la clé spécifiée.
abstract int size()
retourne le nombre d'entrées au sein de l'objet Dictionary.
Les méthodes héritées de la classe java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Exemple [voir]
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.Hashtable;

public class CollectionDictionary {
  public static void main(String[] args) {
    String[] joursSemaine = {"lundi", "mardi", "mercredi", "jeudi", 
                             "vendredi", "samedi", "dimanche"};
    String[] daysOfWeek = {"sunday", "monday", "tuesday", "wednesday", 
                           "thursday", "friday", "saturday"};
    Dictionary dictionnaire = new Hashtable();
    for(int i = 0; i < joursSemaine.length; i++){
      dictionnaire.put(daysOfWeek[i < joursSemaine.length - 1 ? i+1 : 0], 
                       joursSemaine[i]);
    }
    System.out.println("Taille du dictionnaire : " + dictionnaire.size());
    int i = 1;
    Enumeration valeurs = dictionnaire.elements();
    Enumeration cles = dictionnaire.keys();
    while(valeurs.hasMoreElements() && cles.hasMoreElements()){
      System.out.println(i++ + " entrée : " + valeurs.nextElement() 
                     + " -> " + dictionnaire.remove(cles.nextElement()));
    }
    System.out.println("Taille du dictionnaire : " + dictionnaire.size());
  }
}