Por Chaitanya Singh | Filed Under: Colecciones de Java
Esta clase implementa una tabla de hachís, que mapea las claves de los valores. Cualquier objeto no nulo puede ser usado como una clave o como un valor. La tabla hash es similar a HashMap, excepto que está sincronizada. Hay pocas diferencias más entre la clase HashMap y Hashtable, puedes leerlas en detalle en: Diferencia entre HashMap y Hashtable.
En este tutorial veremos como crear un Hashtable, como poblar sus entradas y luego aprenderemos como mostrar sus pares clave-valor usando Enumeración. Al final de este artículo veremos los tutoriales de Hashtable y los métodos de la clase Hashtable.
Ejemplo
importar java.util.Hashtable;importar java.util.Enumeration;public class HashtableExample { public static void main(String[] args) { Enumeration names; String key; // Crear un Hashtable Hashtable<String, String> hashtable = nuevo Hashtable<String, String>(); // Agregar pares de Clave y Valor al Hashtable Hashtable.put("Key1","Chaitanya"); hashtable.put("Key2","Ajeet"); hashtable.put("Key3","Peter"); hashtable.put("Key4","Ricky"); hashtable.put("Clave5","Mona"); nombres = hashtable.keys(); while(nombres.hasMoreElements()) { clave = (Cadena) nombres.nextElement(); System.out.println("Clave: " +clave+ " y Valor: " + hashtable.get(key)); } }}
Salida:
Llave: Clave4 y Valor: RickyKey: Clave3 y Valor: PeterKey: Llave 2 y Valor: AjeetKey: Llave1 y Valor: ChaitanyaKey: Llave 5 y valor: Mona
Tutoriales de Hashtable
Métodos de la clase Hashtable:
1) vacío claro(): Elimina todos los mapeos de valor clave de Hashtable y lo deja vacío. Borra este hashtable para que no contenga ninguna clave…
2) Clonación de objetos(): Crea una copia superficial de este hashtable. Toda la estructura del hashtable se copia, pero las claves y valores no se clonan. Esta es una operación relativamente cara.
3) boolean contains(Valor del objeto): Comprueba si algunas claves se corresponden con el valor especificado en este hashtable. Esta operación es más cara que el método containsKey.
Nótese que este método es idéntico en funcionalidad a containsValue, (que es parte de la interfaz del Mapa en el marco de las colecciones).
4) booleano isEmpty(): Comprueba si este hashtable no asigna ninguna clave a los valores.
5) Enumeration keys(): Devuelve una enumeración de las claves contenidas en la tabla hash.
6) Object put(Object key, Object value): Mapea la clave especificada al valor especificado en este hashtable.
7) void rehash(): Incrementa el tamaño de la tabla hash y vuelve a hacer todas sus claves.
8) object remove(Clave de objeto): Elimina la clave (y su valor correspondiente) de este hashtable.
9) int size(): Devuelve el número de mapeos de llave-valor presentes en el Hashtable.
10) String toString(): Devuelve el equivalente en cadena de una tabla hash.
11) boolean containsKey(Clave de objeto): Comprueba si el objeto especificado es una clave en esta tabla hash.
12) boolean containsValue(Valor del objeto): Comprueba si el objeto especificado es un valor en este hashtable. Devuelve verdadero si existe algún valor igual al valor en la tabla hash. Devuelve false si no se encuentra el valor.
13) Elementos de enumeración(): Devuelve una enumeración de los valores contenidos en la tabla hash.
14) Objeto get(Clave de objeto): Devuelve el valor al que está mapeada la clave especificada, o nulo si este mapa no contiene ninguna mapeada para la clave.
Referencias:
- Hashtable javadoc
- Enumeración javadoc
Comentarios
- Rajsays23 de septiembre de 2015 a las 8:22 PMI intentó Hashtable – permite poner claves nulas así como valores nulos ??Podrías por favor mirar el códigoHashtable hashtable = nuevo Hashtable();hashtable.put(«», «ram»);hashtable.put(«K», «kan»);hashtable.put(«S», «»);System.out.println(» » + hashtable);ReplyBinoysays13 de noviembre de 2015 a las 5:21 AMFYI, «» es diferente de null. Y estás usando «» pero no nulo. Por eso fue bueno que usaras «» como clave y valor. Espero que te ayude. Responde
- Grijansays20 de diciembre de 2016 a las 10:17 AM ¿Por qué no se imprime en el orden 1,2,3,4,5, sino en el 4,3,2,1,5? Respuesta