Bootstrap

Java 中 HashMap 的工作原理

Java 中 HashMap 的工作原理

HashMap 是 Java 集合框架中一个非常重要的类,它实现了 Map 接口,用于存储键值对(key-value pairs)。HashMap 允许我们根据键快速查找、插入和删除值。其核心特点是基于哈希表实现,提供了平均时间复杂度为 O(1) 的基本操作。

基本结构

HashMap 主要由数组和链表或红黑树组成。具体来说:

  • 数组:HashMap 内部维护了一个 Entry 数组,默认大小为 16。每个数组元素称为桶(bucket),用来存放 Entry 对象。
  • Entry:表示单个键值对,包含四个属性:keyvaluehashnext。其中 next 指向下一个 Entry 对象,用于解决哈希冲突时形成链表结构。
  • 负载因子(Load Factor):默认值为 0.75,当 HashMap 中的条目数超过了容量乘以负载因子时,会自动扩容。
  • 阈值(Threshold):即触发扩容的临界点,等于当前容量乘以负载因子。

工作流程

插入(put)

当你调用 put(key, value) 方法时,HashMa

;