该类实现了一个哈希表,它将键映射到值。任何非null
对象都可以用作键或值。Hashtable
类似于HashMap
,但它是同步的。HashMap
和Hashtable
类之间几乎没有什么区别,你可以在以下网址详细阅读:HashMap
和Hashtable
之间的区别。
在本教程中,我们将了解如何创建Hashtable
,如何填充其条目,然后我们将学习如何使用Enumeration
显示其键值对。在本文的最后,我们将看到Hashtable
类的Hashtable
教程和方法。
示例
import java.util.Hashtable;
import java.util.Enumeration;
public class HashtableExample {
public static void main(String[] args) {
Enumeration names;
String key;
// Creating a Hashtable
Hashtable<String, String> hashtable =
new Hashtable<String, String>();
// Adding Key and Value pairs to Hashtable
hashtable.put("Key1","Chaitanya");
hashtable.put("Key2","Ajeet");
hashtable.put("Key3","Peter");
hashtable.put("Key4","Ricky");
hashtable.put("Key5","Mona");
names = hashtable.keys();
while(names.hasMoreElements()) {
key = (String) names.nextElement();
System.out.println("Key: " +key+ " & Value: " +
hashtable.get(key));
}
}
}
输出:
Key: Key4 & Value: Ricky
Key: Key3 & Value: Peter
Key: Key2 & Value: Ajeet
Key: Key1 & Value: Chaitanya
Key: Key5 & Value: Mona
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
。