Hashtable示例
import java.util.Hashtable;
import java.util.Iterator;
public class HashtableExample
{
public static void main(String[] args)
{
//1. Create Hashtable
Hashtable<Integer, String> hashtable = new Hashtable<>();
//2. Add mappings to hashtable
hashtable.put(1, "A");
hashtable.put(2, "B" );
hashtable.put(3, "C");
System.out.println(hashtable);
//3. Get a mapping by key
String value = hashtable.get(1); //A
System.out.println(value);
//4. Remove a mapping
hashtable.remove(3); //3 is deleted
//5. Iterate over mappings
Iterator<Integer> itr = hashtable.keySet().iterator();
while(itr.hasNext())
{
Integer key = itr.next();
String mappedValue = hashtable.get(key);
System.out.println("Key: " + key + ", Value: " + mappedValue);
}
}
}
输出:
{3=C, 2=B, 1=A}
A
Key: 2, Value: B
Key: 1, Value: A
声明哈希表
Hashtable 类在 Java 中声明如下。
它扩展了 Dictionary 类并实现了 Map 、 Cloneable和 Serializable接口。
这里“K”是键的类型,“V”是映射到键的值的类型。
public class Hashtable<K,V>
extends Dictionary<K,V>
implements Map<K,V>, Cloneable, java.io.Serializable
{
//implementation
}
https://onitroad.com 更多教程
哈希表特性
- 它与HashMap类似,但它是同步的,而HashMap不同步。
- 它不接受
null键或者值。 - 它不接受重复的密钥。
- 它将键值对存储在哈希表数据结构中,该数据结构内部维护一个列表数组。每个列表可以被称为一个桶。在发生冲突的情况下,对存储在此列表中。
- Hashtable 中的枚举器不是快速失败的。
Java Hashtable 类是哈希表数据结构的一个实现。
它与 Java 中的 HashMap 非常相似,最大的区别是 Hashtable 是同步的,而 HashMap 不是。
哈希表内部包含存储键/值对。
Hashtable 使用键的哈希码来确定键对应的值。
日期:2020-09-17 00:09:34 来源:oir作者:oir
