当前位置: 首页 > news >正文

网站建设一秒互联中核工建设集团有限公司网站

网站建设一秒互联,中核工建设集团有限公司网站,wordpress站内搜索慢,企业商务网站优化一、HashMap啥时候扩容,为什么扩容? HashMap的默认大小是16。在实际开发过程中,我们需要去存储的数据量往往是大于存储容器的默认大小的。所以,出现容量默认大小不能满足需求时,就需要扩容。而这个扩容的动作是由集合自…

一、HashMap啥时候扩容,为什么扩容?
HashMap的默认大小是16。在实际开发过程中,我们需要去存储的数据量往往是大于存储容器的默认大小的。所以,出现容量默认大小不能满足需求时,就需要扩容。而这个扩容的动作是由集合自动完成的。
当HashMap里面的元素个数超过临界值的时候会自动触发扩容。这个临界值的计算公式如图所示:
在这里插入图片描述它等于负载因子 乘以 容量大小,负载因子的默认值是0.75,而容量大小默认是16,。也就是说,第1次扩容的动作会在元素个数达到12的时候触发,扩容的大小是原来的2倍。HashMap的最大容量是Integer.MAX_VALUE也就是2的31次方减1。

由于动态扩容机制的存在,所以我们在实际应用的时候,最好在集合初始化的时候明确去指定集合的大小,从而避免频繁扩容带来性能上的消耗。

在这里插入图片描述
负载因子表示Hash表中的元素填充程度。负载因子的值越大,也就意味着触发扩容的元素个数就越多。虽然,它的整体空间利用率会比较高,但是Hash冲突的概率也会增加。那么,反之,负载因子的值越小,那么触发扩容元素的个数也就越少,也就意味着Hash冲突的概率也会减少。但是,对于内存空间的浪费自然就比较多了,而且还会增加扩容的频率。

因此,扩容因子的值的设置,本质上就是一个冲突的概率以及空间利用率之间的一个平衡。关于0.75这个值的来源,和统计学里面的泊松分布有关系。
我们知道,HashMap采用的是链式寻址的方式来解决Hash冲突的问题。而为了避免链表过长,导致时间复杂度增加的情况,所以,HashMap判断链表长度大于等于8的时候,就会转换为红黑树,从而提升检索的效率。

当负载因子为0.75的时候,链表长度达到8的可能性几乎为0,也就是说,比较好的做到了空间成本和时间成本的平衡。

http://www.yayakq.cn/news/451334/

相关文章:

  • 麻涌仿做网站南宁软件优化网站建设
  • 广州黄埔网站制作建设网站的视频
  • 传奇网站模板psd北京seo网站开发
  • 深圳广告设计公司网站wordpress 临时域名
  • 网站质量度WordPress小程序二次修改
  • 做网站营业执照经营范围怎么填写网站音频播放器代码
  • 网站建设与维护模拟一企业网站建设需要的资料
  • 长春网站seo开发一套app要多少钱
  • 网站建设与实现毕业答辩ppt有名的app开发公司
  • 网站找建站公司易优cms插件
  • 网站开发搜索功能怎么实现已经有了网站源代码怎样搭建
  • 分销商城源码seo费用
  • 郑州优化网站公司营销型网站建立
  • 吉林企业网站模板建站哪个好微信分享接口网站开发
  • php+mysql网站开发全程实例 于荷云 pdf城乡建设和住房建设部八大员
  • 为了 门户网站建设wordpress产品列表
  • 网站建设费用主要包括那几项企业网站推广哪些效果比较好
  • 制作外贸网站广告设计找工作
  • 网站建设需要注意什么 知乎河南网站制作团队
  • 做网站可以参考的网站wordpress 接入小程序
  • 网站维护提醒php文件上海工业设计公司排名前十强
  • 舟山网站建设seo网络舆情监测处置制度
  • 死链接对网站的影响工信部域名查询
  • php制作网站后台网络推广公司哪家好
  • 定制网站建设服务平台网站开发公司 商业计划书
  • 设计网站页面出现问题模板下载器
  • 暴雪vpseo范畴有哪些
  • 毕设做网站些什么比较简单电商线上推广渠道
  • 自己做发卡网站长电商发展趋势和未来
  • 网站自定义title谁有国外hs网站