首先它的底层实现,在1.7版本是数组+链表,1.8版本变成了数组+链表+红黑树,综合了几种数据结构的优势,当第一次put一个key进去时,计算key对应的特定的hashcode,通过取余操作,将数据放在大小为16的数组(哈希桶)中,如果产生hash冲突,则通过equals方法比较,如果相等,则覆盖,插入对应的链表当中(1.7头插法,1.8尾插法),当数组某个索引对应的链表长度大于8且整个数组长度大于64时,链表会变成红黑树。
负载因子0.75,扩容方式:翻倍
首先它的底层实现,在1.7版本是数组+链表,1.8版本变成了数组+链表+红黑树,综合了几种数据结构的优势,当第一次put一个key进去时,计算key对应的特定的hashcode,通过取余操作,将数据放在大小为16的数组(哈希桶)中,如果产生hash冲突,则通过equals方法比较,如果相等,则覆盖,插入对应的链表当中(1.7头插法,1.8尾插法),当数组某个索引对应的链表长度大于8且整个数组长度大于64时,链表会变成红黑树。
负载因子0.75,扩容方式:翻倍