原文: https://beginnersbook.com/2014/07/hashtable-in-java-with-example/

该类实现了一个哈希表,它将键映射到值。任何非null对象都可以用作键或值。Hashtable类似于HashMap,但它是同步的。HashMapHashtable类之间几乎没有什么区别,你可以在以下网址详细阅读:HashMapHashtable之间的区别。

在本教程中,我们将了解如何创建Hashtable,如何填充其条目,然后我们将学习如何使用Enumeration显示其键值对。在本文的最后,我们将看到Hashtable类的Hashtable教程和方法。

示例

  1. import java.util.Hashtable;
  2. import java.util.Enumeration;
  3. public class HashtableExample {
  4. public static void main(String[] args) {
  5. Enumeration names;
  6. String key;
  7. // Creating a Hashtable
  8. Hashtable<String, String> hashtable =
  9. new Hashtable<String, String>();
  10. // Adding Key and Value pairs to Hashtable
  11. hashtable.put("Key1","Chaitanya");
  12. hashtable.put("Key2","Ajeet");
  13. hashtable.put("Key3","Peter");
  14. hashtable.put("Key4","Ricky");
  15. hashtable.put("Key5","Mona");
  16. names = hashtable.keys();
  17. while(names.hasMoreElements()) {
  18. key = (String) names.nextElement();
  19. System.out.println("Key: " +key+ " & Value: " +
  20. hashtable.get(key));
  21. }
  22. }
  23. }

输出:

  1. Key: Key4 & Value: Ricky
  2. Key: Key3 & Value: Peter
  3. Key: Key2 & Value: Ajeet
  4. Key: Key1 & Value: Chaitanya
  5. Key: Key5 & Value: Mona

Hashtable教程

Hashtable类的方法:

1)void clear():从Hashtable中删除所有键值映射并使其为空。清除此哈希表,使其不包含任何键。

2)Object clone():创建此哈希表的浅表副本。复制哈希表本身的所有结构,但不克隆键和值。这是一项相对昂贵的操作。

3)boolean contains(Object value):测试某个键是否映射到此哈希表中的指定值。此操作比containsKey方法更昂贵。
请注意,此方法的功能与containsValue相同(它是集合框架中Map接口的一部分)。

4)boolean isEmpty():测试此哈希表是否将键没有映射到值。

5)Enumeration keys():返回哈希表中包含的键的枚举。

6)Object put(Object key, Object value):将指定的键映射到此哈希表中的指定值。

7)void rehash():增加哈希表的大小并重新哈希其所有键。

8)Object remove(Object key):从该哈希表中删除键(及其对应的值)。

9)int size():返回 Hashtable 中存在的键值映射的数量。

10)String toString():返回哈希表的等效字符串。

11)boolean containsKey(Object key):测试指定的对象是否是此哈希表中的键。

12)boolean containsValue(Object value):测试指定的对象是否为此哈希表中的值。如果哈希表中存在某个等于value的值,则返回true。如果未找到该值,则返回false

13)Enumeration elements():返回哈希表中包含的值的枚举。

14)Object get(Object key):返回指定键映射到的值,如果此映射不包含键的映射,则返回null

参考:

  1. Hashtable javadoc
  2. Enumeration javadoc