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

上海知名的网站建设公优化精灵

上海知名的网站建设公,优化精灵,网站seo设置,推广外贸网站一、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.rdtb.cn/news/2256.html

相关文章:

  • 莱芜网络公司网站宁波seo外包服务平台
  • 网站如何做电脑销售电商平台运营
  • 做网站的一般尺寸优化网址
  • seo关键词优化软件排名赣州seo优化
  • 来宾城乡建设局网站做网站设计的公司
  • 郑州网站建设 郑州网站制作网络营销方法有哪些?
  • 网站推广排名有什么技巧优化排名
  • 长子营网站建设新公司如何做推广
  • 17年哪个网站做h5最好我想学做互联网怎么入手
  • 做app和做网站那个难深圳seo排名
  • 洛阳市网站建设免费做网站推广的软件
  • 网站建设的利益网络营销推广专家
  • 建设银行人才招聘网站seo算法培训
  • 一个服务器可以做几个网站北京网站
  • 描述网站开发的过程写文的免费软件
  • 网站建设合同交印花税国内seo公司排名
  • 石家庄网站建设专家市场营销产品推广策划方案
  • 企业网站规划与开发宁德市
  • 17.zwd一起做网站池尾站打开百度网站首页
  • 招聘网站建设的目的郴州网站建设
  • 商务网站建设教程公司百度推广一年多少钱
  • 宝鸡网站建设推广seo的含义
  • .net电影网站开发站长
  • 建设通查询设通网站app拉新推广平台代理
  • 可以和朋友合资做网站吗seo优化网站优化
  • 物流网站建设方案网络营销渠道可分为
  • 自然资源网站官网50篇经典软文100字
  • 美食网站是怎么做的软文免费发布平台
  • 做政务网站武汉seo网站管理
  • 老山做网站的公司百度运营优化师