Hashtable in Java

Hashtable in Java
Eine Hash -Tabelle gilt für Schlüssel-/Wertpaare. Intern werden die Werte in einem Array gespeichert. Jeder Schlüssel wird in einen Index des Arrays konvertiert. Diese Konversion ist als Hashing bekannt. Dies erfolgt durch eine Hash -Funktion intern. Mit anderen Worten, die Schlüssel müssen nicht gespeichert werden. Alles, was der Hash-Tisch in Java und in anderen Computersprachen ist. In diesem Artikel werden zwei Konstrukteure der Java hastable und ihrer häufig verwendeten Methoden erläutert.

Die folgenden fünf Zeilen zeigen Wörter und ihre Bedeutungen:

POST: Damit jemanden entspannt und ruhig machen
Licht: Die Energie der Sonne
Dunkelheit: Fehlen von Licht
Papa: Ein weniger formales Wort für Vater
Kochen: Eine Person, deren Job kocht

Jedes Wort kann als Schlüssel angesehen werden, und jede Bedeutung kann als Wert angesehen werden. Diese Liste der Schlüssel-/Wertpaare wird in diesem Artikel verwendet. Die Hashtable -Klasse befindet sich in der Java.Util.* Paket, das importiert werden muss.

Artikelinhalt

  • Konstruktion
  • Zugriff auf Schlüssel-/Wertpaare
  • Rückkehrliste von Hashtable
  • Konvertieren der Set von Schlüssel-/Wertpaaren in Zeichenfolge
  • Abschluss

Konstruktion
öffentlicher Hashtable ()

Diese Methode konstruiert eine leere Hash -Tabelle. Das folgende Programm schafft einen leeren Hashtable namens DIC (für Wörterbuch) und geben ihm dann fünf Schlüssel-/Wertpaare.

Java importieren.Util.*;
öffentliche Klasse Theclass
public static void main (String [] args)
Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");

Beachten Sie, dass der Schlüsseltyp auf der linken und rechten Seite der Konstruktoranweisung angegeben werden muss. Die Art von Wert muss auch auf beiden Seiten angezeigt werden. Die Java-Hashtable-Klasse hat die Put () -Methode, um ein Schlüssel-/Wertpaar in den Hash-Tisch zu setzen.

öffentlicher Hashtable (Karte T)

Diese Konstruktormethode würde einen Hashtable aus einem anderen Hashtable erzeugen. Der Name des Hashtable des obigen Code ist DIC. Ein weiterer Hashtable kann wie folgt aus DIC erstellt werden:

Hash-tabelle dic2 = neuer Hashtable(DIC);

Das neue Hashtable ist DIC2. Im Moment hat es alle Elemente (Schlüssel-/Wertpaare) des DIC -Hashtabels.

Zugriff auf Schlüssel-/Wertpaare
öffentlich V Put (K Key, V -Wert)

Diese Methode steckt ein Schlüssel-/Wertpaar in das Hashtable. Es gibt den vorherigen Wert des angegebenen Schlüssels dieses Hashtabels zurück oder null, wenn der Schlüssel keinen Wert hatte. Der folgende Code zeigt dies:

Hash-tabelle hshtbl = neuer Hashtable();
String OldValue1 = HSHTBL.put ("blau", "die Farbe des Meeres an einem klaren Tag haben");
System.aus.println (OldValue1);
String oldValue2 = HSHTBL.put ("blau", "Farbe eines klaren Himmels an einem klaren Tag");
System.aus.println (OldValue2);

Die Ausgabe ist:

Null
Die Farbe des Meeres an einem klaren Tag haben

public void putall (Karte t)

Diese Methode steckt einen weiteren Hashtable in den Hashtable des Interesses. Es kehrt ungültig zurück. Stellen Sie sich vor, der oben genannte Hashtable, DIC, ist bereits im Programm. Stellen Sie sich vor, dass ein weiterer Hashtable, DIC3, mit dem folgenden Inhalt bereits im Programm steht:

"Blue" = "Farbe eines klaren Himmels an einem klaren Tag",
"Vector" = "Ein Kurs, der von einem Flugzeug besucht wird"

Der gesamte Inhalt von DIC3 kann in DIC mit der folgenden Erklärung aufgenommen werden:

DIC.Putall (DIC3);

öffentliche int size ()

Diese Methode gibt die Anzahl der Schlüssel für den Hashtable zurück. Der folgende Code zeigt dies:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
int sz = dic.Größe();
System.aus.println (SZ);

Der Ausgang ist 5.

öffentlich V GET (Objektschlüssel)

Diese Methode gibt den Wert zurück, zu dem der angegebene Schlüssel gehasht wurde, oder null, wenn der Schlüssel nicht auf einen Wert gehasht wurde (Array -Index). Der folgende Code zeigt dies:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
System.aus.println (dic.GET ("Wiese");
System.aus.println (dic.leicht werden"));
System.aus.println (dic.Get ("Vektor"));

Die Ausgabe ist:

Jemanden entspannt und ruhig machen
Die Energie aus der Sonne
Null

öffentlich V entfernen (Objektschlüssel)

Diese Methode entfernt den Schlüssel und seinen entsprechenden Wert aus dem Hashtable. Es gibt den Wert für den Schlüssel oder NULL zurück, wenn der Schlüssel nicht vorhanden war. Der folgende Code zeigt Folgendes:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
String ret1 = dic.entfernen ("Dunkelheit");
String ret2 = dic.entfernen ("Dunkelheit");
System.aus.println (ret1);
System.aus.println (ret2);

Die Ausgabe ist:

Abwesenheit von Licht
Null

öffentlich boolean isempty ()

Gibt true zurück, wenn der Hashtable keinen Schlüssel zu einem Wert hat (Array -Index); und sonst falsch. Der folgende Code zeigt, wie diese Methode verwendet wird:

Hash-tabelle dic4 = neuer Hashtable();
boolean BL = dic4.ist leer();
System.aus.println (bl);

Die Ausgabe ist wahr.

öffentliche void clear ()

Diese Methode löscht alle Schlüssel-/Wertpaare im Hashtable. Die Größe des Hashtabels wird Null. Der folgende Code zeigt die Verwendung:

Hash-tabelle dic5 = neuer Hashtable();
DIC5.put ("blau", "Farbe eines klaren Himmels an einem klaren Tag");
DIC5.put ("Vektor", "ein Kurs, der von einem Flugzeug belegt");
DIC5.klar();
System.aus.println (dic5.Größe());

Die Ausgabe ist 0.

Rückkehrliste von Hashtable
öffentliche Aufzählungselemente ()

Diese Methode gibt eine Aufzählung der Werte des Hashtabels zurück. Die Aufzählungsklasse hat ihre Methoden. Der folgende Code zeigt, wie eine Aufzählung der Werte des Hashtabels und der Verwendung der Aufzählungsmethoden zum Lesen der Werte:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
Aufzählung e = dic.Elemente ();
während (e.HasMoreElements () == true)
String str = e.NextElement ();
System.aus.println (str);

Die Ausgabe ist:

eine Person, deren Job kocht
Ein weniger formales Wort für Vater
Die Energie aus der Sonne
Abwesenheit von Licht
Jemanden entspannt und ruhig machen

Beachten Sie, dass die Ausgabereihenfolge nicht die Eingangsreihenfolge ist. So funktioniert Hashtable in Java.

öffentliche Aufzählungsschlüssel ()

Diese Methode gibt eine Aufzählung der Schlüssel des Hashtabels zurück. Die Aufzählungsklasse hat ihre Methoden. Der folgende Code Wie erfolgt eine Aufzählung von Schlüssel des Hashtabels und wie man die Aufzählungsmethoden verwendet, um die Schlüssel zu lesen:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
Aufzählung e = dic.Schlüssel();
während (e.HasMoreElements () == true)
String str = e.NextElement ();
System.aus.println (str);

Die Ausgabe ist:

kochen
Papa
Licht
Dunkelheit
Flaute

Beachten Sie, dass die Ausgabereihenfolge nicht die Eingangsreihenfolge ist. So funktioniert Hashtable in Java. Der Schlüssel wird tatsächlich zu einem Index (Anzahl) eines Arrays gehasht, dessen Zellinhalt der Wert ist.

öffentliches Set Einstieg ()

Diese Methode gibt eine SET-View-Sammlung von Schlüssel-/Wertpaaren des Hashtabels zurück. Der folgende Code zeigt, wie Sie mit dem Rückgabesatz von Schlüssel-/Wertpaaren umgehen und alle Schlüssel-/Wertpaare drucken:

Hash-tabelle DIC = neuer Hashtable();
DIC.Setzen Sie ("Wiese", ", um jemanden entspannt und ruhig zu machen"); DIC.put ("Licht", "die Energie von der Sonne");
DIC.put ("Dunkelheit", "Abwesenheit von Licht"); DIC.put ("Papa", "ein weniger formales Wort für Vater");
DIC.Put ("Cook", "eine Person, deren Job kocht");
Satz> c = dic.EinstiegSet ();
Iterator> iter = c.Iterator ();
während (Iter.HasNext () == true)
Karte.Eintrag kv = iter.nächste();
System.aus.println (kv.getKey () + ":" + kv.Wert erhalten());

Die Ausgabe ist:

Kochen: Eine Person, deren Job kocht
Papa: Ein weniger formales Wort für Vater
Licht: Die Energie der Sonne
Dunkelheit: Fehlen von Licht
POST: Damit jemanden entspannt und ruhig machen

Obwohl die entsprechenden Werte für Schlüssel beibehalten wurden, ist die Ausgangsreihenfolge nicht die Eingangsreihenfolge. So funktioniert Hashtable in Java.

Konvertieren der Set von Schlüssel-/Wertpaaren in Zeichenfolge
öffentlicher String -ToString ()

Diese Methode wandelt alle Schlüssel-/Wertpaare des Hashtabels in eine lange Zeichenfolge um. Es spielt keine Rolle, wenn die Arten von Schlüssel oder Werten keine Strings waren. Dies wird durch den folgenden Code veranschaulicht:

Hash-tabelle HT = neuer Hashtable();
ht.put ("zehn", 10);
ht.put ("zwanzig", 20);
ht.put ("dreißig", 30);
String str = ht.toString ();
System.aus.println (str);

Die Ausgabe ist:

zwanzig = 20, zehn = 10, dreißig = 30

Abschluss

Ein Hash-Tisch ist eine Karte von Schlüssel-/Wertpaaren. Intern wird ein Schlüssel tatsächlich in den Index eines Arrays gehasht. Der Wert dieses Index ist der Wert des Schlüssel-/Wertpaares. Der Hashtable ist eine Klasse in der Java.Util.* Paket, das vor seiner Konstruktion und anderen Methoden importiert werden sollte, kann verwendet werden.