一张图理解hashMap原理

2018-04-16  本文已影响0人  程序员爸爸
hashMap原理索图.png

HashMap,在我日常工作中,经常用。

 它的内部实现是基于数组加链表,存储的是key-value键值对。它是线程不安全的。它是支持null作为key或者value的。
 下面说一下hashMap的get方法实现原理,首先是将key对象求hashCode,作为对应数组的下标,对应的entry链表里存的就是键值对,如果多个key的hashcode相同即hash碰撞了,那么hashmap采取的是链表的方式解决的,当hashcode相同,put方法执行时候,就会将新键值对插入队首,原来的后移一位。
   影响HashMap性能的初始容量,与加载因子0.75。当hashMap容量占比总容量大于初加载因子,则扩容一倍,将原来的键值对重新计算hashcode塞入新的链表里。
上一篇 下一篇

猜你喜欢

热点阅读