头插法是操作速度最快的,找到数组位置就直接找到插入位置了,但是课程里演示过,
jdk8之前hashmap这种插入方法在并发场景下如果多个线程同时扩容会出现循环列表。
jdk8开始hashmap链表在节点长度达到8之后会变成红黑树,这样一来在数组后节点长
度不断增加时,遍历一次的次数就会少很多很多(否则每次要遍历所有),相比头插法
而言,尾插法操作额外的遍历消耗已经小很多了,也可以避免之前的循环列表问题。
(同时如果变成红黑树,也不可能做头插法了)
头插法是操作速度最快的,找到数组位置就直接找到插入位置了,但是课程里演示过,
jdk8之前hashmap这种插入方法在并发场景下如果多个线程同时扩容会出现循环列表。
jdk8开始hashmap链表在节点长度达到8之后会变成红黑树,这样一来在数组后节点长
度不断增加时,遍历一次的次数就会少很多很多(否则每次要遍历所有),相比头插法
而言,尾插法操作额外的遍历消耗已经小很多了,也可以避免之前的循环列表问题。
(同时如果变成红黑树,也不可能做头插法了)