hashmap put方法的流程
时间: 2024-02-19 11:17:59 浏览: 85
你真的懂大厂面试题:HashMap吗?
HashMap的put方法的具体流程如下:
1. 首先,根据key的hashcode值和HashMap的容量计算出该key在数组中的位置。
2. 如果该位置上没有元素,则直接将该元素插入到该位置上。
3. 如果该位置上已经有元素,则需要进行链表或红黑树的操作。
4. 如果该位置上的元素是链表,则遍历链表,查找是否有相同的key,如果有,则替换该key对应的value值,如果没有,则将该元素插入到链表的末尾。
5. 如果该位置上的元素是红黑树,则在红黑树中查找是否有相同的key,如果有,则替换该key对应的value值,如果没有,则将该元素插入到红黑树中。
6. 如果链表的长度大于等于8,则将链表转换为红黑树。
7. 如果HashMap的元素个数超过了负载因子*容量的阈值,则需要进行扩容操作。
8. 扩容操作会将原来的数组中的元素重新分配到新的数组中,重新计算每个元素在新数组中的位置。
9. 扩容操作完成后,再将新的元素插入到新数组中。
以上就是HashMap的put方法的具体流程。
阅读全文