jdk7中hashmap解决冲突采用链表,一旦hash碰撞过多时,可能会使得一个链表上存在多个节点,查找时花费0(n)
jdk8解决了这个问题,在链表超过8个时采用红黑树的结构,提高了链表的查找速度为log(n).
jdk8扩容不是重新计算所有元素在数组的位置,元素的位置要么在原位置,要么在原位置再移动2次幂的位置。
jdk7和jdk8hashmap的区别
最新推荐文章于 2023-12-20 21:36:47 发布
jdk7中hashmap解决冲突采用链表,一旦hash碰撞过多时,可能会使得一个链表上存在多个节点,查找时花费0(n)
jdk8解决了这个问题,在链表超过8个时采用红黑树的结构,提高了链表的查找速度为log(n).
jdk8扩容不是重新计算所有元素在数组的位置,元素的位置要么在原位置,要么在原位置再移动2次幂的位置。