HashMap集合put元素的原理

Posted beheaven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HashMap集合put元素的原理相关的知识,希望对你有一定的参考价值。

HashMap集合put元素的原理:
(1)计算key的hashCode
(2)将key的hashCode作为计算因子,通过哈希算法计算HashMap的数组下标index
(3)如果index下标的数组元素为空,直接put(新增元素)
(4)如果index下标的数组元素不为空,调用key的equal方法,判断index位置的链表是否存在
(5)如果找到链表中某个元素与key的equals方法相等,则使用value更新
(6)如果未找到链表中某个元素与key的equals方法相等,则新增
一般面试的时候,经常会问到HashMap的原理。起初一直不理解,搞清楚HashMap的原理很重要吗?我就知道HashMap是线程不安全的。后来仔细看了下HashMap的底层实现原理,
原来HashMap既具有数组的快速查询,又兼具链表的快速插入特性。虽然不是线程安全的,但通过线程安全处理之后,无论是查询还是添加元素都很高效,用途广泛,因此掌握HashMap的底层原理的重要性不言而喻了。

以上是关于HashMap集合put元素的原理的主要内容,如果未能解决你的问题,请参考以下文章

Map集合的常见面试题

HashMap

集合框架Map

集合框架Map

JavaMap集合,HashMap,LinkedHashMap,HashTable,Hashmap底层的原理

HashMap底层的实现原理