logo

Java Hashtable-Klasse

Die Java-Hashtable-Klasse implementiert eine Hashtabelle, die Schlüssel Werten zuordnet. Es erbt die Dictionary-Klasse und implementiert die Map-Schnittstelle.

Punkte, die man sich merken sollte

  • Eine Hashtabelle ist ein Array einer Liste. Jede Liste wird als Bucket bezeichnet. Die Position des Buckets wird durch Aufruf der Methode hashcode() identifiziert. Eine Hashtabelle enthält Werte basierend auf dem Schlüssel.
  • Die Java-Hashtable-Klasse enthält eindeutige Elemente.
  • Die Java-Hashtable-Klasse lässt keinen Nullschlüssel oder -wert zu.
  • Die Java-Hashtable-Klasse ist synchronisiert.
  • Die anfängliche Standardkapazität der Hashtable-Klasse beträgt 11, während LoadFactor 0,75 beträgt.

Deklaration der Hashtable-Klasse

Sehen wir uns die Deklaration für die Klasse java.util.Hashtable an.

 public class Hashtable extends Dictionary implements Map, Cloneable, Serializable 

Parameter der Hashtable-Klasse

Sehen wir uns die Parameter für die Klasse java.util.Hashtable an.

    K: Dies ist der Schlüsseltyp, der von dieser Karte verwaltet wird.IN: Dies ist der Typ der zugeordneten Werte.

Konstruktoren der Java Hashtable-Klasse

KonstrukteurBeschreibung
Hash-tabelle()Es erstellt eine leere Hashtabelle mit der anfänglichen Standardkapazität und dem Standardlastfaktor.
Hashtable(int Kapazität)Es akzeptiert einen ganzzahligen Parameter und erstellt eine Hash-Tabelle, die eine angegebene Anfangskapazität enthält.
Hashtable(int Kapazität, Float LoadFactor)Es wird verwendet, um eine Hash-Tabelle mit der angegebenen Anfangskapazität und dem angegebenen Lastfaktor zu erstellen.
Hashtable(Map t)Es erstellt eine neue Hash-Tabelle mit denselben Zuordnungen wie die angegebene Map.

Methoden der Java Hashtable-Klasse

MethodeBeschreibung
void klar()Es wird verwendet, um die Hash-Tabelle zurückzusetzen.
Objektklon()Es gibt eine flache Kopie der Hashtable zurück.
V berechnen(K-Taste, BiFunction remappingFunction)Es wird verwendet, um eine Zuordnung für den angegebenen Schlüssel und seinen aktuell zugeordneten Wert (oder null, wenn keine aktuelle Zuordnung vorhanden ist) zu berechnen.
V computeIfAbsent(K-Taste, Funktionszuordnungsfunktion)Es wird verwendet, um seinen Wert mithilfe der angegebenen Zuordnungsfunktion zu berechnen, wenn der angegebene Schlüssel noch nicht mit einem Wert verknüpft ist (oder auf null abgebildet ist), und gibt ihn in diese Zuordnung ein, sofern er nicht null ist.
V computeIfPresent(K-Taste, BiFunction remappingFunction)Es wird verwendet, um anhand des Schlüssels und seines aktuellen zugeordneten Werts eine neue Zuordnung zu berechnen, wenn der Wert für den angegebenen Schlüssel vorhanden und nicht null ist.
Aufzählungselemente()Es gibt eine Aufzählung der Werte in der Hash-Tabelle zurück.
SatzEintragSet()Es gibt eine festgelegte Ansicht der in der Karte enthaltenen Zuordnungen zurück.
boolescher Wert gleicht (Objekt o)Es wird verwendet, um das angegebene Objekt mit der Karte zu vergleichen.
void forEach(BiConsumer-Aktion)Es führt die angegebene Aktion für jeden Eintrag in der Karte aus, bis alle Einträge verarbeitet wurden oder die Aktion eine Ausnahme auslöst.
V getOrDefault(Objektschlüssel, V defaultValue)Es gibt den Wert zurück, dem der angegebene Schlüssel zugeordnet ist, oder defaultValue, wenn die Zuordnung keine Zuordnung für den Schlüssel enthält.
int hashCode()Es gibt den Hash-Codewert für die Karte zurück
Aufzählungsschlüssel()Es gibt eine Aufzählung der Schlüssel in der Hashtabelle zurück.
setze keySet()Es gibt eine Set-Ansicht der in der Karte enthaltenen Schlüssel zurück.
V-Zusammenführung (K-Taste, V-Wert, BiFunction-Remapping-Funktion)Wenn der angegebene Schlüssel noch keinem Wert zugeordnet ist oder mit Null verknüpft ist, ordnet er ihn dem angegebenen Nicht-Null-Wert zu.
V put(K-Taste, V-Wert)Es fügt den angegebenen Wert mit dem angegebenen Schlüssel in die Hash-Tabelle ein.
void putAll(Map t))Es wird verwendet, um alle Schlüssel-Wert-Paare von der Karte in die Hashtabelle zu kopieren.
V putIfAbsent(K-Taste, V-Wert)Wenn der angegebene Schlüssel noch keinem Wert zugeordnet ist (oder auf null abgebildet ist), wird er mit dem angegebenen Wert verknüpft und null zurückgegeben, andernfalls wird der aktuelle Wert zurückgegeben.
boolescher Wert Remove(Objektschlüssel, Objektwert)Es entfernt die angegebenen Werte mit den zugehörigen angegebenen Schlüsseln aus der Hashtabelle.
V ersetzen (K-Taste, V-Wert)Es ersetzt den angegebenen Wert für einen angegebenen Schlüssel.
boolescher Ersatz (K-Taste, V alter Wert, V neuer Wert)Es ersetzt den alten Wert durch den neuen Wert für einen angegebenen Schlüssel.
void replaceAll(BiFunction-Funktion)Der Wert jedes Eintrags wird durch das Ergebnis des Aufrufs der angegebenen Funktion für diesen Eintrag ersetzt, bis alle Einträge verarbeitet wurden oder die Funktion eine Ausnahme auslöst.
String toString()Es gibt eine String-Darstellung des Hashtable-Objekts zurück.
Sammlungswerte()Es gibt eine Sammlungsansicht der in der Karte enthaltenen Werte zurück.
boolescher Wert enthält(Objektwert)Diese Methode gibt „true“ zurück, wenn in der Hash-Tabelle ein Wert vorhanden ist, der dem Wert entspricht, andernfalls wird „false“ zurückgegeben.
boolescher Wert enthältWert(Objektwert)Diese Methode gibt „true“ zurück, wenn in der Hash-Tabelle ein Wert vorhanden ist, der dem Wert entspricht, andernfalls wird „false“ zurückgegeben.
boolescher Wert enthältSchlüssel(Objektschlüssel)Diese Methode gibt „true“ zurück, wenn in der Hash-Tabelle ein Schlüssel vorhanden ist, der dem Schlüssel entspricht, andernfalls wird „false“ zurückgegeben.
boolean isEmpty()Diese Methode gibt true zurück, wenn die Hash-Tabelle leer ist; gibt false zurück, wenn es mindestens einen Schlüssel enthält.
protected void rehash()Es wird verwendet, um die Größe der Hash-Tabelle zu erhöhen und alle ihre Schlüssel erneut aufzubereiten.
V get(Objektschlüssel)Diese Methode gibt das Objekt zurück, das den mit dem Schlüssel verknüpften Wert enthält.
V entfernen(Objektschlüssel)Es wird verwendet, um den Schlüssel und seinen Wert zu entfernen. Diese Methode gibt den mit dem Schlüssel verknüpften Wert zurück.
int size()Diese Methode gibt die Anzahl der Einträge in der Hash-Tabelle zurück.

Beispiel für eine Java-Hashtable

 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()); } } } 
Testen Sie es jetzt

Ausgabe:

 103 Rahul 102 Ravi 101 Vijay 100 Amit 

Java-Hashtable-Beispiel: remove()

 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); } } 

Ausgabe:

 Before remove: {103=Rahul, 102=Ravi, 101=Vijay, 100=Amit} After remove: {103=Rahul, 101=Vijay, 100=Amit} 

Java Hashtable-Beispiel: 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')); } } 

Ausgabe:

 Vijay Not Found 

Java Hashtable-Beispiel: 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); } } 

Ausgabe:

 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} 

Java Hashtable-Beispiel: Buch

 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); } } } 

Ausgabe:

 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