logo

Classe Hashtable Java

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.

    K: È il tipo di chiavi gestite da questa mappa.IN: È il tipo di valori mappati.

Costruttori della classe Java Hashtable

CostruttoreDescrizione
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

MetodoDescrizione
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.
Impostatoset di voci()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