hashmap put 过程
时间: 2023-11-08 18:23:53 浏览: 77
总结put处理过程-HashMap源码(上)
HashMap的put()方法用于将键值对存储到HashMap中。其过程如下:
1. 首先,根据键的hashCode()方法计算出哈希值,再通过哈希值和HashMap中的数组长度取模,得到该键值对在数组中的下标位置。
2. 如果该下标位置还没有元素,直接将该键值对存储在该位置上。如果该下标位置已经有元素,则需要进行链表或红黑树的操作。
3. 如果该下标位置是一个链表,则需要遍历链表,查找是否已经存在该键。如果存在,则用新值替换旧值。如果不存在,则将该键值对添加到链表的末尾。
4. 如果该下标位置是一个红黑树,则需要按照红黑树的规则进行添加或替换操作。
5. 在进行链表或红黑树的操作之后,如果链表长度或红黑树节点数达到阈值,就需要将链表转换为红黑树或进行红黑树的平衡操作,以保证HashMap的性能。
6. 最后,如果添加了新元素,则需要将HashMap的size属性加1,表示HashMap中元素的个数增加了。
阅读全文