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