La classe HashTable avec exemple en Java

HashTable est une table de hachage appartient au package util.list et implémente l'interface Map. Elle est représentée par un tableau de liste. Chaque liste est identifiée par sa clé donc elle permet de créer une collection d'objets associés à des noms. Elle est similaire à HashMap mais elle est synchronisée.

Comme la classe HashMap, HashTable sauvegarde les pairs clé/valeur dans une table de hachage. Lors de l'utilisation de HashTable, vous spécifiez l'objet que vous voulez l'utiliser comme clé, et la valeur que vous voulez relier à cette clé.

HashTable définie 4 constructeurs:

-HashTable():
 Constructeur par défaut qui crée une HashTable vide.


-HashTable(int size):
Crée une HashTable avec une taille précise.

-HashTable(int size, float fillRatio):
 Cette version crée une HashTable avec une taille précise et un ratio fillRatio entre 0.0 et 1.0 qui détermine quand la taille de la table de hachage doit être redimensionnée.

-HashTable(Map map):
 Crée une HashTable initialisée avec les éléments de map.

HashTable définie les méthodes suivantes:

1. void clear()
Vide la liste.

2. Object clone()
Retourne une copie de l'objet HashTable.

3. void contains(Object valeur)
Retourne vrai si l'objet o est présent.

4. void containsKey(Object clé)
Retourne vrai si l'objet clé est présente.

5. void containsValue(Object valeur)
Retourne vrai si la valeur recherchée est présente.

6. Enumeration Elements()
Retourne une énumération des valeurs de la table de hachage.

7. Object get(Object key)
Retourne la valeur associée à la clé key. Si la clé n'est pas présente dans la table, elle retourne null.

8. boolean isEmpty()
Vérifie si la liste est vide. Elle retourne vrai dans ce cas.

9. Enumerations keys()
Retourne une énumération des clés de la table de hachage.

10. Object put(Object key, Object value)
Insère le couple (clé, valeur) dans HashTable. Elle retourne null si la clé n'existe pas déjà, sinon elle retourne la valeur associée à la clé.

11. void rehash()
Augmente la capacité de la table de hachage.

12. Object remove(Object key)
Supprime la clé avec sa valeur. Si elle existe, elle retourne la clé associée à sa valeur, sinon null.

13. int size()
Retourne la taille de HashTable.

Exemple:

import java.util.Hashtable;

public class Exemple {

public static void main(String a[]){
//création
Hashtable ht = new Hashtable();

//ajouter les clés-valeurs
ht.put(1, "premier");
ht.put(2, "deuxième");
ht.put(3, "troisième");
System.out.println(ht);

//quelques opérations
System.out.println("est vide? "+ht.isEmpty());
System.out.println("valeur de la clé 3 : "+ht.get(3));

ht.remove("premier");
System.out.println("hash table contient la clé 1 : "+ht.containsKey(1));
System.out.println(ht);
System.out.println("capacité : "+ht.size());
ht.clear();
System.out.println("après clear() : "+ht);
}
}
Résultats:

{3=troisième, 2=deuxième, 1=premier}
est vide? false
valeur de la clé 3 : troisième
hash table contient la clé 1 : true
{3=troisième, 2=deuxième, 1=premier}
capacité : 3
après clear() : {}
Références:
Javadoc: hashtable
la classe hashtable