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