Latest web development tutorials

Java Hashtable-Schnittstelle

Hashtable ist Teil des ursprünglichen java.util ein Wörterbuch konkrete Umsetzung ist.

Allerdings implementiert Java 2 Rekonstruktion Hashtable die Map-Schnittstelle, so wird Hashtable nun in den Sammlungen Framework integriert. Es HashMap Klasse ist sehr ähnlich, aber es unterstützt die Synchronisation.

Wie Wie HashMap, Hashtable in einer Hash-Tabelle Schlüssel / Wert-Paaren zu speichern. Wenn eine Hash-Tabelle verwendet, um das Objekt als Schlüssel angeben, und Sie wollen den Wert der Anleihe zu verknüpfen.

Dann wird der Schlüssel gehasht und der resultierende Hash-Code wird als ein Index verwendet, um die Werte in der Tabelle zu speichern.

Hashtable definiert vier Konstruktor. Der erste ist der Standard-Konstruktor:

Hashtable()

Der zweite Konstruktor erstellt eine Hash-Tabelle angegebene Größe:

Hashtable(int size)

Der dritte Konstruktor erstellt eine bestimmte Größe der Hash-Tabelle, und geben Sie den Füllungsanteil fillRatio.

Füllgrad muss zwischen 0,0 und 1,0, die das volle Ausmaß der Hash-Tabelle bestimmt, bevor sie erneut Sizing:

Hashtable(int size,float fillRatio)

Der vierte Konstruktor erzeugt ein Element zu dem Element M in der Hash-Tabelle initialisiert.

Die Kapazität der Hash-Tabelle wird M zu verdoppeln.

Hashtable(Map m)

Hash-Tabelle zusätzlich zu den in der Map-Schnittstelle definiert Methoden, sondern definiert auch die folgenden Methoden:

Nein . Methode Beschreibung
1 nichtig clear ()
Löscht die Inhalte dieser Hash-Tabelle, so dass es keine Schlüssel enthält.
2 Object clone ()
Erstellt eine flache Kopie dieser Hash-Tabelle.
3 boolean enthält (Object value)
Ob es einen Wert mit dem angegebenen Schlüssel Test dieser Zuordnungstabelle zugeordnet ist.
4 boolean containsKey (Object key)
Überprüft, ob das angegebene Objekt ist ein Schlüssel in dieser Hash-Tabelle.
5 boolean Contains (Object value)
Wenn diese Hashtable Karten eine oder mehrere Tasten auf diesen Wert, gibt es wahr.
6 Aufzählungselemente ()
Gibt eine Hash-Tabelle Enumerationswerten.
7 Object get (Object key)
Gibt die angegebene Taste, um den Wert zugeordnet wird, wenn diese Karte keine Zuordnung für diesen Schlüssel enthält, gibt es null. Formal wenn diese Karte enthält (key.equals (k)) aus dem Schlüssel k auf einen Wert v Zuordnen , dann gibt diese Methode v, andernfalls wird null zurückgegeben.
8 boolean isEmpty ()
Prüft, ob diese Hash-Tabelle ordnet keine Schlüssel auf Werte.
9 Enumeration-Tasten ()
Gibt eine Aufzählung der Hash-Tabellenschlüssel.
10 Objekt put (Object key, Object value)
Der angegebene Schlüssel ist mit dem Hash-Tabelle angegebenen Wert zugeordnet.
11 Leere Aufguss ()
Erhöhen Sie die Kapazität der Hash-Tabelle und ihre internen Reorganisation besser gerecht und Zugriff auf ihre Elemente.
12 Object remove (Object key)
Entfernen Sie den Schlüssel und den entsprechenden Wert aus der Hash-Tabelle.
13 int size ()
Gibt die Anzahl der Schlüssel in diesem Hash-Tabelle.
14 String toString ()
Gibt eine String-Darstellung des Hashtable-Objekt in Form von ASCII-Zeichen "," (Komma und Leerzeichen) getrennt, in geschweiften Klammern und eine Reihe von Einträgen.

Beispiele

Das folgende Programm zeigt diese Datenstruktur mehrere Methoden unterstützt:

import java.util.*;

public class HashTableDemo {

   public static void main(String args[]) {
      // Create a hash map
      Hashtable balance = new Hashtable();
      Enumeration names;
      String str;
      double bal;

      balance.put("Zara", new Double(3434.34));
      balance.put("Mahnaz", new Double(123.22));
      balance.put("Ayan", new Double(1378.00));
      balance.put("Daisy", new Double(99.22));
      balance.put("Qadir", new Double(-19.08));

      // Show all balances in hash table.
      names = balance.keys();
      while(names.hasMoreElements()) {
         str = (String) names.nextElement();
         System.out.println(str + ": " +
         balance.get(str));
      }
      System.out.println();
      // Deposit 1,000 into Zara's account
      bal = ((Double)balance.get("Zara")).doubleValue();
      balance.put("Zara", new Double(bal+1000));
      System.out.println("Zara's new balance: " +
      balance.get("Zara"));
   }
}

Die obigen Beispiele kompilierten Ergebnisse sind wie folgt:

Qadir: -19.08
Zara: 3434.34
Mahnaz: 123.22
Daisy: 99.22
Ayan: 1378.0

Zara's new balance: 4434.34