如果心满意足,谁又去准备面试?

面试准备——HashMap原理

2021-04-12  本文已影响0人  So_ProbuING

Hash表

Hash表

HashMapEntry内部类中包含 key value hash next 等成员变量,就是通过这些来实现了顺序表+链表的结构


HashMap

Hash如何保存数据的

如下图:


Hash表

HashMap中的key有什么用?

int index = hash & (tab.length-1);

HashMap添加数据的原理

添加数据时,创建了一个新的HashMapEntry对象

table[index] = new HashMapEntry<k,v>(key,v,hash,index)

然后将创建的新的节点存入到table数组的对应Index的位置
如果发现对应Index中已经有了节点,那么再次存储index位置时


image.png

当hash运算冲突时,会进行判断,已经存储的值和要存储的值是不是同一个,如果是同一个,就进行覆盖。如果不是同一个

Hash性能优化

HashMap hmap = new HashMap(默认大小);
上一篇 下一篇

猜你喜欢

热点阅读