【一线大厂Java面试题合集】第08篇-HashMap源码深度剖析
第08篇:HashMap源码深度剖析(JDK 7 vs 8)模块:Java集合框架 |难度:高级 |面试频率:★★★★★1.HashMap 的数据结构是什么?JDK 8 为什么要引入红黑树?阈值为什么是 8?核心概念HashMap 是基于哈希表实现的键值对存储结构。在 JDK 7 中,HashMap 采用的是数组 + 链表的结构;而在 JDK 8 中,升级为数组 + 链表 + 红黑树的结构。JDK 7: Entry[] table → 链表头插法 JDK 8: Node[] table → 链表尾插法 → 红黑树(链表长度 ≥ 8 且数组长度 ≥ 64)JDK 8 数据结构图解table数组 [0] - null [1] - Node - Node - Node - null (链表) [2] - null [3] - TreeNode(红黑树) (树化)