面试官您好,关于 HashMap 的底层实现,我是按照以下三个维度来理解的:1. 宏观结构 (Overview)从宏观上看,HashMap 的底层结构在 JDK 1.8 中是 “数组 + 链表 + 红黑树”。它的主体是一个 Node 数组(源码中叫 table),数组的每个位置我们称之为“桶”(Bucket)。常规情况:当没有任何冲突时,数据直接存在数组里。Hash 冲突:当发生哈希冲突时,早期的 JDK 1.7 采用的是单纯的链表(头插法)。JDK 1.8 改进:为了解决哈希冲突导致链表过长、查询效率退化为 的问题,JDK 1.8 引入了红黑树。 转换机制:当链表长度 > 8 且 数组...