table数组使用到了临界值12的时候(添加一个元素,table就会加1),就会扩容到 16 * 2 = 32
首先table初始化的大小是16个,也就是说临界值是 16 *0.75 = 12;
下面这张图片,我添加的元素还没有到12个,table就扩容到32了,
然后等我添加11个的时候,table又扩容到了64
table数组使用到了临界值12的时候(添加一个元素,table就会加1),就会扩容到 16 * 2 = 32
首先table初始化的大小是16个,也就是说临界值是 16 *0.75 = 12;
下面这张图片,我添加的元素还没有到12个,table就扩容到32了,
然后等我添加11个的时候,table又扩容到了64
hashMap是数组+链表+红黑树结构。
扩容情况:
1、当达到阈值时二倍扩容;
2、当hash冲突同一个桶中链表元素达到8且数组长度小于64,会扩容,不转红黑树;链表长度达到8长度大于64转红黑树。
你这个情况应该是hash冲突,链表长度达到8但是数组长度小于64,所以扩容了