📜  Java.util.Hashtable类(1)

📅  最后修改于: 2023-12-03 14:42:21.560000             🧑  作者: Mango

Java.util.Hashtable类

java.util.Hashtable 是一个字典结构的集合类,它实现了 Map 接口,提供了键-值对的存储和访问功能。Hashtable类不允许 null 值作为键或值。

特点
  • Hashtable是线程安全的。多个线程可以同时访问 Hashtable 实例,而无需额外的同步。
  • Hashtable不允许 null 值作为键或值。如果您尝试在 Hashtable 中存储 null,则将抛出 NullPointerException。
  • Hashtable 使用哈希表来存储键值对。哈希表是一种通过哈希函数把键映射到数组索引的数据结构,使查找键值对的时间复杂度为 O(1)。
  • Hashtable的初始容量和加载因子可以通过构造函数进行设置。如果哈希表中的键值对超过了容量乘以加载因子的数量,则会自动扩容。
示例
import java.util.Hashtable;

public class HashtableExample {

    public static void main(String[] args) {
        Hashtable<Integer, String> hashtable = new Hashtable<>();

        // 添加键值对
        hashtable.put(1, "One");
        hashtable.put(2, "Two");
        hashtable.put(3, "Three");
        hashtable.put(4, "Four");
        System.out.println(hashtable); // 输出: {4=Four, 3=Three, 2=Two, 1=One}

        // 读取值
        String value = hashtable.get(2);
        System.out.println(value); // 输出: Two

        // 移除键值对
        hashtable.remove(3);
        System.out.println(hashtable); // 输出: {4=Four, 2=Two, 1=One}

        // 判断是否包含键
        boolean containsKey = hashtable.containsKey(1);
        System.out.println(containsKey); // 输出: true

        // 判断是否包含值
        boolean containsValue = hashtable.containsValue("Four");
        System.out.println(containsValue); // 输出: true

        // 清空 Hashtable
        hashtable.clear();
        System.out.println(hashtable); // 输出: {}
    }
}

以上代码演示了 Hashtable 的基本操作,包括添加键值对、获取值、移除键值对、判断是否包含键或值、清空 Hashtable 等。Hashtable 这个类还支持很多其他的操作,具体可以查看 Hashtable API 文档

参考文献