HashMap数据结构(数组+链表+红黑树)
首先,new HashMap<>() 是一个长度为16的数组
如果是Integer类型的数据,执行完map.put(1,123),map的数据
此时,如果执行map.put(17, 456);会有下面的链表结构(此时发生了哈希冲突)
这是因为两个key值对于16的取余结果是一样的,(这就叫做哈希冲突)即hashcode相同,但是key值并不同,所以会生成链表结构
由于链表的查询性能几乎接近于线性,因此在链表长度大于8的时候,会转变成红黑树的结构
执行完就此put之后,数据结构的变化