所有分类
  • 所有分类
  • 未分类

Java–JDK7与JDK8的HashMap的区别

简介

本文介绍JDK7与JDK8的HashMap的区别。

JDK7与JDK8的HashMap区别

JDK7JDK8
数据结构数组 + 链表。 复杂度:O(n)数组 + 链表 + 红黑树
(若链表长度大于8 且容量小于64 会进行扩容;若链表长度大于8 且数组长度大于等于64,会转化为红黑树(提高定位元素的速度);若红黑树节点个数小于6,则将红黑树转为链表。)
插入位置插入链表头部插入链表尾部
hash算法复杂简单。 红黑树效率高,提高查询效率的地方由红黑树实现,没必要像JDK7那么复杂。
扩容机制多线程可能导致:数据覆盖、读出为null、死循环多线程可能导致:数据覆盖、读出为null; 不会导致死循环(因为用了尾插)

13

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录