hashmap的put方法是如何实现的
时间: 2024-05-29 14:11:24 浏览: 47
hashmap实现原理
HashMap的put方法实现如下:
1. 首先,根据key的hashcode和HashMap的长度,计算出key在数组中的索引位置。
2. 如果该位置上已经有了一个Entry对象,就需要判断这个Entry对象的key是否和当前的key相等。
3. 如果相等,说明当前的key已经存在于HashMap中,直接替换掉该Entry对象的value值即可。
4. 如果不相等,说明发生了hash冲突,需要通过链表或红黑树等方式解决冲突。在这里,HashMap采用链表的方式来解决冲突。
5. 如果该位置上没有Entry对象,直接将当前的key-value封装成一个Entry对象,放入该位置即可。
6. 如果当前HashMap中的元素个数已经达到了负载因子(默认为0.75)所规定的上限,就需要进行扩容操作。扩容的方式是将数组长度翻倍,并将原来的元素重新计算索引位置放入新的数组中。
7. 最后,如果put操作成功,返回null;如果发生了hash冲突,返回被替换掉的Entry对象的value值。
阅读全文