Java HashMap 攻略

87 阅读1分钟

攻略大全

1. 粘贴攻略

1.1 数据结构

HashMap 采用的数据结构 = 数组(主) + 单链表(副),具体描述如下

该数据结构方式也称:拉链法

944365-4bf32082bf297dd9.png

944365-37470dbec0adc57a.png

1.2 存储流程

944365-1861c88e179eba74.png

1.3 数组元素 & 链表节点的 实现类

HashMap中的数组元素 & 链表节点 采用 Entry类 实现,如下图所示

944365-61fe915232ad487e.png

  1. 即 HashMap的本质 = 1个存储Entry类对象的数组 + 多个单链表
  2. Entry对象本质 = 1个映射(键 - 值对),属性包括:键(key)、值(value) & 下1节点( next) = 单链表的指针 = 也是一个Entry对象,用于解决hash冲突

2. 造火箭攻略

3. 拧螺丝攻略

4. 复制攻略

4.1 面试官:哈希表都不知道,你是怎么看懂HashMap的?

4.2 Java源码分析:HashMap 1.8 相对于1.7 到底更新了什么?

4.3 SparseArray 与 ArrayMap