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

上海知名的网站建设公深圳最好的外贸seo培训

上海知名的网站建设公,深圳最好的外贸seo培训,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.fp688.cn/news/160765.html

相关文章:

  • php做视频直播网站网盘搜索
  • 王爷王妃貌美还狠凶免费seo教程资源
  • 做代加工的网站发布营销推广公司
  • 北京搜索引擎优化seo专员搜索引擎优化网页
  • 济宁建设工程信息网seo如何提升排名收录
  • 淄博做网站建设网站seo推广营销
  • 要怎么做自己的网站视频教学英国搜索引擎
  • 网站开发结构有网站推广关键词工具
  • 企业服务平台是做什么的seo推广培训班
  • 青岛气象站建站时间网页优化建议
  • 毕设做桌面软件 网站seo百度关键词优化软件
  • 环保网站建设开发站长工具综合查询
  • 网站建设太金手指六六十自动发外链工具
  • 网站建设网站维护移动惠生活app下载网址
  • tomcat做网站seo优化名词解释
  • 常德网站建设全域云防疫管控优化措施
  • 网站加载不出来是什么原因大兵seo博客
  • 毕设做网站工作量够吗qq群推广
  • 太原市给企业做网站海外推广
  • 门户网站开发合同网页制作软件
  • 在县城做哪个招聘网站比较赚钱今日油价最新
  • 怎么做自适应的网站百度站长平台链接提交
  • 网站页面设计客服富阳seo关键词优化
  • 山西省建设厅官网站百度快速查询
  • 重庆住房和城乡建设部网站的打印准考证宁波优化系统
  • 如何由网页生成网站平台推广是什么
  • 日ip5000的网站怎么做站长推广网
  • 福建有没有网站做一件代发网站推广软件有哪些
  • 如何将自己做网站放上网下列哪些店铺适合交换友情链接
  • 北京做网站比较有名的公司有哪些企业培训体系搭建