La classe Java Hashtable implementa una tabella hash, che associa le chiavi ai valori. Eredita la classe Dictionary e implementa l'interfaccia Map.
Punti da ricordare
- Una Hashtable è un array di un elenco. Ogni elenco è noto come bucket. La posizione del bucket viene identificata chiamando il metodo hashcode(). Una Hashtable contiene valori basati sulla chiave.
- La classe Java Hashtable contiene elementi univoci.
- La classe Java Hashtable non consente chiavi o valori null.
- La classe Java Hashtable è sincronizzata.
- La capacità predefinita iniziale della classe Hashtable è 11 mentre loadFactor è 0,75.
Dichiarazione della classe Hashtable
Vediamo la dichiarazione per la classe java.util.Hashtable.
public class Hashtable extends Dictionary implements Map, Cloneable, Serializable
Parametri della classe Hashtable
Vediamo i parametri per la classe java.util.Hashtable.
Costruttori della classe Java Hashtable
Costruttore | Descrizione |
---|---|
Tabella hash() | Crea una tabella hash vuota con la capacità e il fattore di carico predefiniti iniziali. |
Tabella hash(capacità int) | Accetta un parametro intero e crea una tabella hash che contiene una capacità iniziale specificata. |
Hashtable(capacità int, float loadFactor) | Viene utilizzato per creare una tabella hash con la capacità iniziale e il loadFactor specificati. |
Tabella hash (Mappa t) | Crea una nuova tabella hash con le stesse mappature della mappa specificata. |
Metodi della classe Java Hashtable
Metodo | Descrizione |
---|---|
vuoto chiaro() | Viene utilizzato per reimpostare la tabella hash. |
Clone oggetto() | Restituisce una copia superficiale dell'Hashtable. |
Calcolo V (tasto K, funzione di rimappatura BiFunzione) | Viene utilizzato per calcolare una mappatura per la chiave specificata e il suo valore mappato corrente (o null se non esiste una mappatura corrente). |
V computeIfAbsent(tasto K, mappatura funzioniFunzione) | Viene utilizzato per calcolare il suo valore utilizzando la funzione di mappatura specificata, se la chiave specificata non è già associata a un valore (o è mappata su null) e la inserisce in questa mappa a meno che non sia null. |
V computeIfPresent(tasto K, funzione di rimappatura BiFunzione) | Viene utilizzato per calcolare una nuova mappatura data la chiave e il suo valore mappato corrente se il valore per la chiave specificata è presente e non nullo. |
Elementi di enumerazione() | Restituisce un'enumerazione dei valori nella tabella hash. |
Impostato | Restituisce una vista impostata delle mappature contenute nella mappa. |
booleano uguale(Oggetto o) | Viene utilizzato per confrontare l'Oggetto specificato con la Mappa. |
void forEach(azione BiConsumer) | Esegue l'azione specificata per ogni voce nella mappa finché tutte le voci non vengono elaborate o l'azione genera un'eccezione. |
V getOrDefault(Chiave oggetto, V defaultValue) | Restituisce il valore a cui è mappata la chiave specificata oppure defaultValue se la mappa non contiene alcuna mappatura per la chiave. |
int hashCode() | Restituisce il valore del codice hash per la mappa |
Chiavi di enumerazione() | Restituisce un'enumerazione delle chiavi nella tabella hash. |
Imposta keySet() | Restituisce una vista Set delle chiavi contenute nella mappa. |
Unione V (chiave K, valore V, funzione di rimappatura BiFunzione) | Se la chiave specificata non è già associata a un valore o è associata a null, la associa al valore non null specificato. |
V put (chiave K, valore V) | Inserisce il valore specificato con la chiave specificata nella tabella hash. |
void putAll(Mappa t)) | Viene utilizzato per copiare tutta la coppia chiave-valore dalla mappa alla tabella hash. |
V putIfAbsent(chiave K, valore V) | Se la chiave specificata non è già associata a un valore (o è mappata su null) la associa al valore specificato e restituisce null, altrimenti restituisce il valore corrente. |
rimozione booleana (chiave oggetto, valore oggetto) | Rimuove i valori specificati con le chiavi specificate associate dalla tabella hash. |
Sostituzione V (chiave K, valore V) | Sostituisce il valore specificato per una chiave specificata. |
sostituzione booleana (chiave K, V vecchioValore, V nuovoValore) | Sostituisce il vecchio valore con il nuovo valore per una chiave specificata. |
void replaceAll (funzione BiFunction) | Sostituisce il valore di ciascuna voce con il risultato dell'invocazione della funzione specificata su quella voce fino a quando tutte le voci non sono state elaborate o la funzione genera un'eccezione. |
Stringa aString() | Restituisce una rappresentazione di stringa dell'oggetto Hashtable. |
Valori della raccolta() | Restituisce una vista di raccolta dei valori contenuti nella mappa. |
booleano contiene(valore oggetto) | Questo metodo restituisce true se esiste un valore uguale al valore nella tabella hash, altrimenti restituisce false. |
booleano contieneValore(Valore oggetto) | Questo metodo restituisce true se esiste un valore uguale al valore nella tabella hash, altrimenti restituisce false. |
booleano contieneKey(Chiave oggetto) | Questo metodo restituisce true se esiste una chiave uguale alla chiave all'interno della tabella hash, altrimenti restituisce false. |
booleano è vuoto() | Questo metodo restituisce true se la tabella hash è vuota; restituisce false se contiene almeno una chiave. |
rehash vuoto protetto() | Viene utilizzato per aumentare la dimensione della tabella hash e rieseguire l'hash di tutte le sue chiavi. |
V get(Chiave oggetto) | Questo metodo restituisce l'oggetto che contiene il valore associato alla chiave. |
V rimuovi (chiave oggetto) | Viene utilizzato per rimuovere la chiave e il suo valore. Questo metodo restituisce il valore associato alla chiave. |
dimensione intera() | Questo metodo restituisce il numero di voci nella tabella hash. |
Esempio di tabella hash 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()); } } }Provalo adesso
Produzione:
103 Rahul 102 Ravi 101 Vijay 100 Amit
Esempio di tabella hash Java: rimuovi()
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); } }
Produzione:
Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit}
Esempio di tabella hash 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')); } }
Produzione:
Vijay Not Found
Esempio di tabella hash 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); } }
Produzione:
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}
Esempio di tabella hash 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); } } }
Produzione:
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