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

高端定制站开发做网站seo推广公司

高端定制站开发,做网站seo推广公司,日本韩国澳大利亚出线,国内装修公司排名前十强HashMap的底层结构在jdk1.7中由数组链表实现,在jdk1.8中由数组链表红黑树实现,以数组链表的结构为例。 JDK1.8之前Put方法: JDK1.8之后Put方法: HashMap基于哈希表的Map接口实现,是以key-value存储形式存在&#xff0c…

HashMap的底层结构在jdk1.7中由数组+链表实现,在jdk1.8中由数组+链表+红黑树实现,以数组+链表的结构为例。

JDK1.8之前Put方法:

JDK1.8之后Put方法:

HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。

JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(或者红黑树的边界值,默认为 8)并且当前数组的长度大于64时,此时此索引位置上的所有数据改为使用红黑树存储。

补充:将链表转换成红黑树前会判断,即使阈值大于8,但是数组长度小于64,此时并不会将链表变为红黑树。而是选择进行数组扩容。

这样做的目的是因为数组比较小,尽量避开红黑树结构,这种情况下变为红黑树结构,反而会降低效率,因为红黑树需要进行左旋,右旋,变色这些操作来保持平衡 。同时数组长度小于64时,搜索时间相对要快些。所以综上所述为了提高性能和减少搜索时间,底层在阈值大于8并且数组长度大于64时,链表才转换为红黑树。具体可以参考 treeifyBin方法。

当然虽然增了红黑树作为底层数据结构,结构变得复杂了,但是阈值大于8并且数组长度大于64时,链表转换为红黑树时,效率也变的更高效。

http://www.ds6.com.cn/news/115820.html

相关文章:

  • 做网站购买备案域名济南seo排名优化推广
  • 计算机培训机构推荐中山网站seo优化
  • 石家庄住房和城乡建设部网站seo网站优化方案书
  • php网站建设公司站长工具seo优化建议
  • 邢台网站建设基本流程廊坊网站设计
  • 如何建立一个网站分享教程seo公司培训课程
  • 政府门户网站建设评价长沙做网站推广
  • 学做网站从前端到后端泰安网站seo
  • wordpress+假用户插件免费刷seo
  • 长春电商网站建设公司排名360建站系统
  • 株洲做网站的公司时事新闻热点摘抄
  • 阜宁做网站公司爱站网权重查询
  • 怎么把自己做的网站发布运营推广是做什么的
  • 上海网站建设 方案百度广告竞价排名
  • 网站界面设计材料收集黑帽seo技巧
  • 余姚网站制作代写企业软文
  • wordpress手机版插件seo网站推广排名
  • 机加工网站识图找图
  • 国外创意摄影网站如何免费开自己的网站
  • 泰国一家做男模的网站网站优化网站
  • 自己主机做多个网站cdq百度指数
  • 网站建设挣钱哈尔滨seo关键词排名
  • 网站地图(build090324)是用什么做的单页网站怎么优化
  • 做外贸网站基本流程百度搜一下
  • 柳北网站制作电商是做什么的
  • 网站开发英文论文资料网络营销的渠道
  • 美国vps站群2021最近最火的关键词
  • 盐湖网站制作网页设计培训
  • 高手做网站百度推广seo优化
  • 微软网站开发技术技能培训有哪些