根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的长度,为 O(n)。
为了降低这部分的开销,在 Java8 中,当链表中的元素达到了 8 个时,会将链表转换为红黑树,在这些位置进行查找的时候可以降低时间复杂度为 O(logN)。
根据 Java7 HashMap 的介绍,我们知道,查找的时候,根据 hash 值我们能够快速定位到数组的具体下标,但是之后的话,需要顺着链表一个个比较下去才能找到我们需要的,时间复杂度取决于链表的长度,为 O(n)。
为了降低这部分的开销,在 Java8 中,当链表中的元素达到了 8 个时,会将链表转换为红黑树,在这些位置进行查找的时候可以降低时间复杂度为 O(logN)。
上一篇:网页制作存在的一些难点
下一篇:JavaScript闭包
本文主要比较了jdk1.7和1.8中HashMap的put逻辑
HashMap源码
JDK8中HashMap的实现原理
1、JDK7中的HashMapHashMap底层维护一个数组,数组中的每一项都是一
JDK8对HashMap进行了一些修改,最大的不同就是利用了红黑树,所以其由**数组+(链表
介绍 随着java的发展,越来越多的企业开始使用java8版本。Java8是自从java5之后最重要的版本,这个版本包含
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M