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

呼伦贝尔市规划建设局网站山东大良网站建设

呼伦贝尔市规划建设局网站,山东大良网站建设,高端品牌网站建设公司哪家好,黑科技引流推广神器下载HashMap就是以Key-Value的方式进行数据存储的一种数据结构。 HashMap在jdk1.7之前和jdk1.8之后的底层数据结构是不一样的。 在jdk1.7之前是数组链表的形式#xff0c;并通过entry节点保存key和value值#xff1b;当Hash冲突比较严重的时候#xff0c;在数组上形成的链表就会…         HashMap就是以Key-Value的方式进行数据存储的一种数据结构。         HashMap在jdk1.7之前和jdk1.8之后的底层数据结构是不一样的。 在jdk1.7之前是数组链表的形式并通过entry节点保存key和value值当Hash冲突比较严重的时候在数组上形成的链表就会变的越来越长由于链表是不支持索引查询的所以这个时候要想在链表中找一个元素的话就需要遍历一遍链表最坏的结果是查找的元素在链表的末尾这样显然会导致查询效率大大降低 所以为避免这一问题的发生在jdk1.8加入了红黑树红黑树是一个自平衡的二叉查找树使用红黑结点并使得两端保持相对平衡所以jdk1.8后HashMap的底层数据结构是数组链表红黑树的形式。 Jdk8开始当链表高度到8、数组长度超过64时会将链表转为红黑树元素以内部类使用Node类存储Key和Value。 通过计算key的hash值进行二次hash然后对数组长度进行取模获得对应数组下标 获得下标后会先判断下标位置是否存在元素如果下标位置没有元素则直接创建Node存入数组如果存在元素就会产生hash冲突 冲突产生后先对key值进行equals()比较如果key值相同则取代该元素不同则通过尾插法插入链表在插入的同时遍历链表计算高度如果中途存在key值相同的元素则进行覆盖如果没有就直接插入到链表尾部。 插入完成对链表高度进行判断如果链表高度达到8并且数组长度到64则转变为红黑树反之如果红黑树结点低于等于6则会退化为链表。 注意如果Key为null的话则存在下标0的位置上。 jdk7中HashMap底层数据结构图 jdk8中HashMap底层数据结构图 ——》以上讲述了HashMap底层数据结构是怎样的同时这个题也是面试的高频提问题。在回答过程中还穿插 了为什么在jdk8要加入红黑树这一问题。以上是自己总结的面试题根据自我理解和查找资料得出欢迎各位CSDN的友友们前来指教
http://www.sczhlp.com/news/165792/

相关文章:

  • 施坦威网站关于我们aws 怎么装wordpress
  • 苏州vr全景网站建设公司wordpress虚拟资源
  • 鲜花网站建设企划书营销比较好的知名公司有哪些
  • 如何建立网站互助金融网站制作
  • 基于php电子商务网站开发镇江公司网站建设
  • 石家庄城乡建设局网站6在家跟狗做网站视频
  • 帝国cms 做的完整的网站有没有广州网站系统开发
  • 一个网站可以有几个域名苏州集团网站设计公司
  • 建筑师网站有哪些网页设计公司背景图
  • 静态购物网站模板软件培训手册
  • 杭州公司网站制作维护音乐网站的制作
  • 网站如何做后台留言豆瓣架构wordpress
  • 做外贸网站买海外域名动漫制作专业专升本
  • 1g内存vps 开电影网站广告中国
  • 下列关于网站开发wordpress图片下一篇
  • 公司做网站需要给百度交钱吗钓鱼网站怎么做的
  • 网站做的拖管不行 怎么投诉郴州网络推广案例
  • 南京网站推广费用郑州网站建设多少钱
  • 卡板技术支持 东莞网站建设云科技网站建设
  • 新乡电子商务网站建设网站 png逐行交错
  • 做购物网站的公司浏览不良网站会被网警抓吗
  • 查建筑公司资质的网站国外服装定制网站
  • NLP学习路线图(十四):词袋模型(Bag of Words) - 详解
  • 实用指南:苍茫命令行:linux模拟实现,书写微型bash
  • 公司网站建设gghhhj连接到wordpress
  • 担保交易网站开发外网有趣的网站
  • 番禺区pc端网站建设reeyee网站建设
  • 网站怎么添加链接代码中餐网站模板
  • 建设厅网站修改密码济南集团网站建设
  • 昆明百度智能建站成都网站建设网络