Latest web development tutorials

Interfejs Java HashTable

Hashtable jest częścią oryginalnego java.util jest słownik wdrożenie betonu.

Jednak Java 2 rekonstrukcja Hashtable implementuje interfejs mapę, tak, Hashtable jest teraz zintegrowany w ramach kolekcji. To HashMap klasy jest bardzo podobny, ale obsługuje synchronizację.

Jak Ci się HashMap, HashTable w tabeli hash do przechowywania pary klucz / wartość. W przypadku korzystania z tabeli mieszania, aby określić obiekt jako klucz, a chcesz połączyć z wartością obligacji.

Następnie klucz jest mieszany i uzyskany kod skrótu stosuje się jako wskaźnik do przechowywania wartości w tabeli.

Hashtable definiuje cztery konstruktora. Pierwszym z nich jest konstruktor domyślny:

Hashtable()

Drugi konstruktor tworzy określony rozmiar tabeli hash:

Hashtable(int size)

Trzeci konstruktor tworzy określony rozmiar tabeli mieszania i określić proporcję wypełnienia przez fillRatio.

stopień napełnienia musi wynosić między 0,0 a 1,0, która określa pełny zakres tabeli mieszania przed ponownym wymiarowania:

Hashtable(int size,float fillRatio)

Czwarty konstruktor tworzy element do elementu M w tabeli mieszania jest inicjowany.

Pojemność tabeli mieszania zostanie podwojony M.

Hashtable(Map m)

HashTable oprócz metod zdefiniowanych w interfejs MAP, jak i wyznacza się następujące metody:

Nie. metoda Opis
1 void clear ()
Usuwa to hashtable tak, że zawiera ona żadnych kluczy.
2 klon Object ()
Tworzy płytką kopię tej tabeli mieszania.
3 boolean contains (wartość obiektu)
Czy istnieje wartość skojarzona z określonego klucza teście tym tablica odwzorowań.
4 logiczna containsKey (element Object)
Sprawdza, czy określony obiekt jest kluczowym w tym hashtable.
5 logiczna containsValue (wartość obiektu)
Jeśli to Hashtable odwzorowuje jeden lub więcej kluczy do tej wartości, to zwraca true.
6 Wyliczenie elementów ()
Zwraca wartości wyliczenia tabeli mieszania.
7 get obiektu (Object key)
Zwraca określony klucz jest mapowany do wartości, jeśli to mapa zawiera odwzorowania na tym kluczu, zwraca zerowy. Formalnie, jeśli to mapa zawiera (key.equals (k)), z klucza k na wartość v mapowania , wówczas ta metoda zwraca v; w przeciwnym razie zwraca wartość null.
8 logiczna isEmpty ()
Testy jeśli to hashtable mapuje żadnych kluczy do wartości.
9 Wyliczenie (klawisze)
Zwraca wyliczenie kluczy tabeli mieszania.
10 put obiektu (Object key, value Object )
Określony klucz jest mapowany na tablicę wartości zadanej.
11 void mikstura ()
Zwiększenie zdolności tabeli mieszania i jego wewnętrznej reorganizacji, aby lepiej pomieścić, a dostęp do jego elementów.
12 Object remove (Object key)
Wyjmij klucz i jego odpowiednią wartość z tabeli mieszania.
13 int size ()
Zwraca liczbę kluczy w tej tabeli hash.
14 String toString ()
Zwraca ciąg znaków reprezentujący obiekt Hashtable w postaci znaków ASCII "," (przecinek i spacja) rozdzielone, ujętych w klamry i zestaw wpisów.

Przykłady

Następujący program ilustruje to struktura danych na kilka sposobów:

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

Powyższe przykłady zebrane wyniki przedstawiają się następująco:

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

Zara's new balance: 4434.34