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 、 CloneableSerializable接口。
这里“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 Hashtable 类是哈希表数据结构的一个实现。
它与 Java 中的 HashMap 非常相似,最大的区别是 Hashtable 是同步的,而 HashMap 不是。

哈希表内部包含存储键/值对。
Hashtable 使用键的哈希码来确定键对应的值。

日期:2020-09-17 00:09:34 来源:oir作者:oir