一张图理解hashMap原理

hashMap原理索图.png

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

 它的内部实现是基于数组加链表,存储的是key-value键值对。它是线程不安全的。它是支持null作为key或者value的。
 下面说一下hashMap的get方法实现原理,首先是将key对象求hashCode,作为对应数组的下标,对应的entry链表里存的就是键值对,如果多个key的hashcode相同即hash碰撞了,那么hashmap采取的是链表的方式解决的,当hashcode相同,put方法执行时候,就会将新键值对插入队首,原来的后移一位。
   影响HashMap性能的初始容量,与加载因子0.75。当hashMap容量占比总容量大于初加载因子,则扩容一倍,将原来的键值对重新计算hashcode塞入新的链表里。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容