hashMap
文章平均质量分 88
damokelisijian866
这个作者很懒,什么都没留下…
展开
-
HashMap的负载因子初始值为什么是0.75?
注:本片文章基于JDK1.8,特在此说明。一、首先介绍下负载因子的作用对于HashMap的研究,我之前一直停留在烤炉源码的实现,其实现在看来,系统默认的各种参数才是HashMap的精华所在。负载因子是和扩容机制有关的,意思时如果当前容器的容量达到了我们设定的最大值,就要开始执行扩容操作。举例说明下比如说当前的容器容量是16,负载因子是0.75,16*0.75=12,也就是说,当容量达到了1......原创 2020-03-09 23:13:58 · 3465 阅读 · 15 评论 -
HashMap默认容量为16的原因
集合是Java开发日常中经常会使用到的,而作为一种典型的K-V结构的数据结构,HashMap对于我们来说并不陌生。在日常开发中我们会经常以如下方式创建一个HashMap:Map<String, String> map = new HashMap<String, String>();但是上面的代码有个问题,我们并没有指定容量,这个新创建的HashMap有一个默认容量。...原创 2019-12-10 00:42:42 · 896 阅读 · 12 评论 -
为什么要重写hashcode和equals方法?
1.通过Hash算法来了解HashMap对象的高效性我们首先了解下数据结构中的一个知识点:在一个长度为n(假设是10000)的 线性表(假设是ArrayList)里,存放着无序的数字;如果我们要找一个指定的数字,就不得不通过从头到尾一次便利来查找,这样的平均查找次数是除以2(这里是5000)。对于Hash表(这里的Hash表纯粹是数据结构上的概念,和Java无关)。它的平均查找次数接近于1,代...原创 2019-11-09 16:27:29 · 294 阅读 · 0 评论