HashMap的底层数据结构和put操作
时间: 2023-06-08 13:07:12 浏览: 89
HashMap底层实现原理共6页.pdf.zip
HashMap 的底层数据结构是数组和链表或红黑树。当插入一个新的键值对时,先根据键的哈希值确定存储的位置,如果该位置已有其他键值对则判断键是否相等,如果不相等,则将该键值对插入到链表或红黑树中;如果相等,则用新的值替换旧的值。
put 操作的过程为:
1. 计算键的哈希值,并由此计算出该键值对在数组中的位置;
2. 如果该位置为空,则直接将键值对插入到该位置;
3. 如果该位置已有其他键值对,则判断键是否相等,如果相等则更新对应的值,如果不等则将该键值对插入到链表或红黑树中;
4. 如果链表或红黑树中键的数量达到一定阈值(默认为 8),则将其转化为红黑树,以提高查找效率。
阅读全文