Java Hashtable 類



簡介

Java Hashtable 類實現了雜湊表,它將鍵對映到值。以下是關於 Hashtable 的重要要點:

  • 在其中,任何非空物件都可以用作鍵或值。

  • 如果要向 Hashtable 中新增許多條目,則使用足夠大的容量建立它可以比根據需要執行自動重新雜湊來擴充套件表更有效地插入條目。

類宣告

以下是 java.util.Hashtable 類的宣告:

public class Hashtable<K,V>
   extends Dictionary<K,V>
   implements Hashtable<K,V>, Cloneable, Serializable

類建構函式

序號 建構函式及說明
1

Hashtable()

這將構造一個新的空雜湊表,其預設初始容量為 (11) 且負載因子為 (0.75)。

2

Hashtable(int initialCapacity)

這將構造一個新的空雜湊表,其指定的初始容量和預設負載因子為 (0.75)。

3

Hashtable(int initialCapacity, float loadFactor)

這將構造一個新的空雜湊表,其指定的初始容量和指定的負載因子。

4

Hashtable(Hashtable<? extends K,? extends V> t)

這將構造一個新的雜湊表,其對映與給定的 Hashtable 相同。

類方法

序號 方法及說明
1 void clear()

此方法清除此雜湊表,使其不包含任何鍵。

2 Object clone()

此方法建立此雜湊表的淺複製。

3 V compute​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction)

嘗試為指定的鍵及其當前對映值(如果當前沒有對映則為 null)計算對映。

4 V computeIfAbsent​(K key, Function<? super K,​? extends V> mappingFunction)

如果指定的鍵尚未與值關聯(或對映到 null),則嘗試使用給定的對映函式計算其值,並將其輸入到此雜湊表中,除非為 null。

5 V computeIfPresent​(K key, BiFunction<? super K,​? super V,​? extends V> remappingFunction)

如果指定鍵的值存在且非 null,則嘗試根據鍵及其當前對映值計算新的對映。

6 boolean contains(Object value)

此方法測試某個鍵是否對映到此雜湊表中的指定值。

7 boolean containsKey(Object key)

此方法測試指定的物件是否為此雜湊表中的鍵。

8 boolean containsValue(Object value)

如果此雜湊表將一個或多個鍵對映到此值,則此方法返回 true。

9 Enumeration<V> elements()

此方法返回此雜湊表中值的列舉。

10 Set<Hashtable.Entry<K,V>> entrySet()

此方法返回此雜湊表中包含的對映的 Set 檢視。

11 boolean equals(Object o)

此方法根據 Hashtable 介面中的定義,將指定的 Object 與此 Hashtable 進行相等性比較。

12 V get(Object key)

此方法返回指定鍵對映到的值,如果此雜湊表不包含該鍵的對映,則返回 null。

13 int hashCode()

此方法根據 Hashtable 介面中的定義返回此 Hashtable 的雜湊碼值。

14 boolean isEmpty()

此方法測試此雜湊表是否不將任何鍵對映到值。

15 Enumeration<K> keys()

此方法返回此雜湊表中鍵的列舉。

16 Set<K> keySet()

此方法返回此雜湊表中包含的鍵的 Set 檢視。

17 V put(K key, V value)

此方法將指定的鍵對映到此雜湊表中的指定值。

18 void putAll(Hashtable<? extends K,? extends V> t)

此方法將指定雜湊表中的所有映射覆制到此雜湊表。

19 V remove(Object key)

此方法從此雜湊表中刪除鍵(及其對應的值)。

20 int size()

此方法返回此雜湊表中的鍵數。

21 String toString()

此方法以一組條目的形式返回此 Hashtable 物件的字串表示形式,這些條目括在括號中,並用 ASCII 字元“,”(逗號和空格)分隔。

22 Collection<V> values()

此方法返回此雜湊表中包含的值的 Collection 檢視。

繼承的方法

此類繼承自以下類中的方法:

  • java.util.Object

向 Integer,Integer 對的 HashTable 新增對映的示例

以下示例顯示了 Java Hashtable put() 方法的使用,用於在 Hashtable 中放入一些值。我們建立了一個 Integer,Integer 對的 Hashtable 物件。然後使用 put() 方法添加了一些條目,然後打印表。

package com.tutorialspoint;

import java.util.Hashtable;

public class HashtableDemo {
   public static void main(String args[]) {
      
      // create hash table
      Hashtable<Integer,Integer> hashtable = new Hashtable<>();

      // populate hash table
      hashtable.put(1, 1);
      hashtable.put(2, 2);
      hashtable.put(3, 3); 

      System.out.println("Hashtable elements: " + hashtable);
   }    
}

讓我們編譯並執行以上程式,這將產生以下結果。

Hashtable elements: {3=3, 2=2, 1=1}
廣告