HashMap实现原理

作者: yimengtianya1 | 来源:发表于2019-05-31 20:53 被阅读0次

HashMap是用于存放key-value对象的容器。

本质上HashMap是“数组+链表”的数据结构。

1、HashMap的存储过程

(1)通过key生成HashCode

(2)再由HashCode得到key-value存储到数组上的索引位置Index。

(3)判断数组的Index上是否已经有存储的对象,(1)为空的话,将key-value对象(存的是对象的内存地址,而不是对象数据本身)存储在该位置。(2)不为空时,将key-value对象存储在该位置的后续链表位置上。

HashMap数据结构


2、HashMap的查询过程

(1)由key生成HashCode。

(2)根据HashCode计算得到数组上的索引位置Index。

(3)根据Index在数组的该位置上,对链表进行遍历查询。

3、HashMap的目的

(1)数组:存储占用的空间连续。查询速度快,但增、删速度慢。

(2)链表:存储占用的空间不连续,查询速度慢,但增、删速度快。

为了结合二者的优点,便采用了“数组+链表”的数据结构。

相关文章

网友评论

    本文标题:HashMap实现原理

    本文链接:https://www.haomeiwen.com/subject/tvxntctx.html