La clase Java Hashtable implementa una tabla hash, que asigna claves a valores. Hereda la clase Diccionario e implementa la interfaz Mapa.
Puntos para recordar
- Una Hashtable es una matriz de una lista. Cada lista se conoce como depósito. La posición del depósito se identifica llamando al método hashcode(). Una Hashtable contiene valores basados en la clave.
- La clase Java Hashtable contiene elementos únicos.
- La clase Java Hashtable no permite claves o valores nulos.
- La clase Java Hashtable está sincronizada.
- La capacidad predeterminada inicial de la clase Hashtable es 11, mientras que loadFactor es 0,75.
Declaración de clase de tabla hash
Veamos la declaración de la clase java.util.Hashtable.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Parámetros de clase de tabla hash
Veamos los parámetros de la clase java.util.Hashtable.
Constructores de la clase Java Hashtable
Constructor | Descripción |
---|---|
Tabla de picadillo() | Crea una tabla hash vacía que tiene la capacidad y el factor de carga predeterminados iniciales. |
Tabla hash (capacidad int) | Acepta un parámetro entero y crea una tabla hash que contiene una capacidad inicial especificada. |
Hashtable (capacidad int, factor de carga flotante) | Se utiliza para crear una tabla hash que tiene la capacidad inicial y el factor de carga especificados. |
Tabla hash (Mapa t) | Crea una nueva tabla hash con las mismas asignaciones que el mapa dado. |
Métodos de la clase Java Hashtable
Método | Descripción |
---|---|
vacío claro() | Se utiliza para restablecer la tabla hash. |
Clon de objeto() | Devuelve una copia superficial de Hashtable. |
V cálculo (tecla K, función de reasignación BiFunction) | Se utiliza para calcular una asignación para la clave especificada y su valor asignado actual (o nulo si no hay una asignación actual). |
V ComputeIfAbsent (tecla K, función de mapeo de funciones) | Se utiliza para calcular su valor utilizando la función de mapeo dada, si la clave especificada aún no está asociada con un valor (o está asignada a nulo), y la ingresa en este mapa a menos que sea nula. |
V ComputeIfPresent (tecla K, función de reasignación BiFunction) | Se utiliza para calcular una nueva asignación dada la clave y su valor asignado actual si el valor de la clave especificada está presente y no es nulo. |
Elementos de enumeración() | Devuelve una enumeración de los valores de la tabla hash. |
Colocar | Devuelve una vista establecida de las asignaciones contenidas en el mapa. |
booleano es igual (Objeto o) | Se utiliza para comparar el objeto especificado con el mapa. |
anular para cada uno (acción BiConsumer) | Realiza la acción dada para cada entrada en el mapa hasta que se hayan procesado todas las entradas o la acción genere una excepción. |
V getOrDefault(Clave de objeto, V defaultValue) | Devuelve el valor al que está asignada la clave especificada, o defaultValue si el mapa no contiene ninguna asignación para la clave. |
int código hash() | Devuelve el valor del código hash para el mapa. |
Teclas de enumeración() | Devuelve una enumeración de las claves en la tabla hash. |
Establecer conjunto de claves() | Devuelve una vista Conjunto de las claves contenidas en el mapa. |
Combinación de V (tecla K, valor V, función de reasignación BiFunction) | Si la clave especificada aún no está asociada con un valor o está asociada con un valor nulo, la asocia con el valor no nulo dado. |
V put (tecla K, valor V) | Inserta el valor especificado con la clave especificada en la tabla hash. |
void putAll(Mapa t)) | Se utiliza para copiar todo el par clave-valor del mapa a la tabla hash. |
V putIfAbsent (tecla K, valor V) | Si la clave especificada aún no está asociada con un valor (o está asignada a nulo), la asocia con el valor dado y devuelve nulo; de lo contrario, devuelve el valor actual. |
eliminación booleana (clave del objeto, valor del objeto) | Elimina los valores especificados con las claves especificadas asociadas de la tabla hash. |
Reemplazo de V (tecla K, valor V) | Reemplaza el valor especificado por una clave especificada. |
reemplazo booleano (tecla K, V oldValue, V newValue) | Reemplaza el valor anterior con el nuevo valor para una clave especificada. |
anular reemplazar todo (función BiFunction) | Reemplaza el valor de cada entrada con el resultado de invocar la función dada en esa entrada hasta que se hayan procesado todas las entradas o la función arroje una excepción. |
Cadena a Cadena() | Devuelve una representación de cadena del objeto Hashtable. |
Valores de colección() | Devuelve una vista de colección de los valores contenidos en el mapa. |
booleano contiene (valor del objeto) | Este método devuelve verdadero si existe algún valor igual al valor dentro de la tabla hash; de lo contrario, devuelve falso. |
booleano contieneValor(Valor del objeto) | Este método devuelve verdadero si existe algún valor igual al valor dentro de la tabla hash; de lo contrario, devuelve falso. |
booleano contiene clave (clave de objeto) | Este método devuelve verdadero si existe alguna clave igual a la clave dentro de la tabla hash; de lo contrario, devuelve falso. |
booleano está vacío() | Este método devuelve verdadero si la tabla hash está vacía; devuelve falso si contiene al menos una clave. |
refrito vacío protegido() | Se utiliza para aumentar el tamaño de la tabla hash y repite todas sus claves. |
V get (clave de objeto) | Este método devuelve el objeto que contiene el valor asociado con la clave. |
V eliminar (clave de objeto) | Se utiliza para eliminar la clave y su valor. Este método devuelve el valor asociado con la clave. |
tamaño entero() | Este método devuelve el número de entradas en la tabla hash. |
Ejemplo de tabla hash de Java
import java.util.*; class Hashtable1{ public static void main(String args[]){ Hashtable hm=new Hashtable(); hm.put(100,'Amit'); hm.put(102,'Ravi'); hm.put(101,'Vijay'); hm.put(103,'Rahul'); for(Map.Entry m:hm.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }Pruébalo ahora
Producción:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Ejemplo de tabla hash de Java: eliminar()
import java.util.*; public class Hashtable2 { public static void main(String args[]) { Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Before remove: '+ map); // Remove value for key 102 map.remove(102); System.out.println('After remove: '+ map); } }
Producción:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Ejemplo de tabla hash de Java: getOrDefault()
import java.util.*; class Hashtable3{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); //Here, we specify the if and else statement as arguments of the method System.out.println(map.getOrDefault(101, 'Not Found')); System.out.println(map.getOrDefault(105, 'Not Found')); } }
Producción:
Vijay Not Found
Ejemplo de tabla hash de Java: putIfAbsent()
import java.util.*; class Hashtable4{ public static void main(String args[]){ Hashtable map=new Hashtable(); map.put(100,'Amit'); map.put(102,'Ravi'); map.put(101,'Vijay'); map.put(103,'Rahul'); System.out.println('Initial Map: '+map); //Inserts, as the specified pair is unique map.putIfAbsent(104,'Gaurav'); System.out.println('Updated Map: '+map); //Returns the current value, as the specified pair already exist map.putIfAbsent(101,'Vijay'); System.out.println('Updated Map: '+map); } }
Producción:
Initial Map: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} Updated Map: {104=Gaurav, 103=Rahul, 102=Ravi, 101=Vijay, 100=Amit}
Ejemplo de tabla hash de Java: libro
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class HashtableExample { public static void main(String[] args) { //Creating map of Books Map map=new Hashtable(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications & Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to map map.put(1,b1); map.put(2,b2); map.put(3,b3); //Traversing map for(Map.Entry entry:map.entrySet()){ int key=entry.getKey(); Book b=entry.getValue(); System.out.println(key+' Details:'); System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }
Producción:
3 Details: 103 Operating System Galvin Wiley 6 2 Details: 102 Data Communications & Networking Forouzan Mc Graw Hill 4 1 Details: 101 Let us C Yashwant Kanetkar BPB 8