hashmap的读写存储

xiaoxiao2021-03-01  15

个人研究留存

1.存储结构

table数组 + 链表和红黑树

table的每个元素为一个链表或红黑树

 

table          

tab[0]--> 链表(个数小于8)

tab[1]-->红黑树(个数大于8)

tab[2]-->红黑树

tab[n]--> 链表

2.put操作

first:根据key的hascode值,确定table数组元素的索引位置

second:创建node节点,如果当前是链表结构,插入链表,如果链表个数超出8,则转为红黑树存储;如果当前是红黑树,则插入                   红黑树

3.get操作

first:根据key的hashcode值,找到table数组中的索引位置

second:在链表或红黑树中根据key.equals和key== 的方式查找key对应的键值对存储节点

转载请注明原文地址: https://www.6miu.com/read-3200130.html

最新回复(0)