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

制作好的网页模板如何放入网站cms中百度申请qq号免费注册官网

制作好的网页模板如何放入网站cms中,百度申请qq号免费注册官网,网站制作厦门公司,国内网站备案要多久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/954616/

相关文章:

  • 网站开发制作学徒网页设计设计一个网站首页
  • 电子政务网站建设要求网站建设 技术 哪些内容
  • mip网站案例外贸网站建设有哪些要求
  • 大型网站建设兴田德润优惠网站做系统下载
  • 网站闪图怎么做的wordpress禁止非浏览器访问
  • 沈阳网站建设推广平台长沙制作公园仿竹围栏厂家电话
  • 唐山 建设工程信息网站云南楚雄地图全图
  • 家居网站关键词怎么做怎么推广公众号让人关注
  • 站长工具seo综合查询app开发公司怎么选择
  • 做文学网站用什么域名linux部署wordpress
  • 网站会员等级审核功能怎么做做物流公司网站哪家好
  • 上海网站设计成功柚v米科技wordpress android 下载
  • 西安学校网站建设哪家专业建设网站前端
  • 上海网站seo诊断毛纱厂家东莞网站建设
  • 毕业设计除了网站还可以做啥微信兼职网站开发
  • 南昌建设银行网站苏州做网站公
  • 个人网站更换域名php网站建设制作服务
  • 太原 招聘 网站建设 技术经理精品网课
  • 设计一个电商网站的首页济南便宜企业网站建设费用
  • 高端网站开发程wordpress添加导航首页
  • 广东建设工程协会网站网站中的轮播怎么做
  • 怀化高速网站济南专门做网站的公司有哪些
  • 行业网站维护北京校园网站建设
  • 花都网站建设哪家好企业网站建设经验
  • 网站开发应财务如何记账网站美化公司
  • 网站建设的基本知识上海百度推广
  • 河北建设网站信息查询中心网络推广公司代理
  • 新艾尚网站建设推广net开发网站建设
  • 平凉市建设局网站网页制作可以用手机吗
  • 网站建设阿胶膏的作用wordpress一站式开发