Clase Hashtable

La clase java.util.Hashtable extiende Dictionary (abstract) e implementa Cloneable y Serializable. Una hash table es una tabla que relaciona una clave con un valor. Cualquier objeto distinto de null puede ser tanto clave como valor.

La clase a la que pertenecen las claves debe implementar los métodos hashCode() y equals(), con objeto de hacer búsquedas y comparaciones. El método hashCode() devuelve un entero único y distinto para cada clave, que es siempre el mismo en una ejecución del programa pero que puede cambiar de una ejecución a otra. Además, para dos claves que resultan iguales según el método equals(), el método hashCode() devuelve el mismo entero. Las hash tables están diseñadas para mantener una colección de pares clave/valor, permitiendo insertar y realizar búsquedas de un modo muy eficiente

Cada objeto de Hashtable tiene dos variables: capacity y load factor (entre 0.0 y 1.0). Cuando el número de elementos excede el producto de estas variables, la Hashtable crece llamando al método rehash(). Un load factor más grande apura más la memoria, pero será menos eficiente en las búsquedas. Es conveniente partir de una Hashtable suficientemente grande para no estar ampliando continuamente.

Ejemplo de definición de Hashtable:

Hashtable numeros = new Hashtable();
numbers.put(«uno», new Integer(1));
numbers.put(«dos», new Integer(2));
numbers.put(«tres», new Integer(3));

donde se ha hecho uso del método put(). La Tabla 4.7 muestra los métodos de la clase Hashtable.

Fuente: Aprenda Java como si estuviera en primero de la Universidad de Navarra