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

国外搜索引擎网站wordpress合并

国外搜索引擎网站,wordpress合并,做网站被骗去哪投诉,做暧暧免费网站HashMap就是以Key-Value的方式进行数据存储的一种数据结构。 HashMap在jdk1.7之前和jdk1.8之后的底层数据结构是不一样的。 在jdk1.7之前是数组链表的形式,并通过entry节点保存key和value值;当Hash冲突比较严重的时候,在数组上形成的链表就会…

        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.yayakq.cn/news/399889/

相关文章:

  • wordpress网站文件管理网站备案号去哪查询
  • 网站在浏览器的图标怎么做长春招聘网
  • 网站上传后怎么打开石景山网站建设好的公司
  • 长沙建网站制作公司沧州seo排名
  • 假建设银行网站凡科建站和华为云哪个好
  • 建立网站站点的过程网上备案查询
  • 做淘宝的网站有哪些内容亚马逊跨境电商app
  • 合肥建站公司有哪家招聘的教育主管部门建设的专题资源网站是
  • 建设视频网站需要什么知识网页代理访问网站
  • 南和网站seo做网站哪个服务器好
  • 展示型网站php手机端视频网站模板下载
  • 做微信网站公司哪家好装修案例欣赏
  • 数字币网站开发dw网页制作教程自我介绍代码
  • 电子网站开发技术包括望野朗读
  • seo内容优化是什么意思优化设计五年级上册数学答案
  • 怎么看网站被降权wordpress 自定义产品页面
  • 书店商城网站html模板下载宝塔本地wordpress
  • 网站做邮箱吗网站建设优化开发公司哪家好
  • 汽车网站制作模板线上推广专员是干嘛的
  • 厦门北京网站建设大连企业制作网站
  • 如何做印刷报价网站杭州做公司官网的公司
  • 海门公司网站制作费用广州网络推广seo
  • seo品牌优化整站优化北京网站
  • 云加速应用于html网站注册高级工程师
  • 网站可信认证必须做吗甘孜建设机械网站
  • 如何给网站做高质量外链网站后台登陆路径
  • 微网站开发梧州专业网站推广
  • 站长工具综合查询wordpress 4.3.4下载
  • 福田网站设计哪家好电商网站建设机构
  • 酷炫网站设计风格wordpress安装与使用