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

有哪些ui的设计网站百度广告联盟app下载官网

有哪些ui的设计网站,百度广告联盟app下载官网,动态网站 教程,做评测好的视频网站学习HashMap需要先知道HashMap的一些基本知识点,首先HashMap的数据结构:数组链表红黑树(JDK1.8之后),HashMap的存取是无序的在一个数组中通过Hash算法把数据存入,HashMap的键和值都是可以为NULL的&#xff…

学习HashMap需要先知道HashMap的一些基本知识点,首先HashMap的数据结构:数组+链表+红黑树(JDK1.8之后)HashMap的存取是无序的在一个数组中通过Hash算法把数据存入,HashMap的键和值都是可以为NULL的但是键位置只能是一个NULLHashMap是有阈值的也就是说当数组长度大于64,并且值大于8时,就会变成将链表变成红黑树当红黑树节点 ≤6 时退化为链表。才会将链表转换成红黑树,目的是为了更加高效的查询。

当我们创建HashMap对象的时候,在JDK8之前,就是在构造方法当中创建一个长度为16的Entry[] Table用来存储键值对数据,JDK8以后就不是在HashMap构造方法创建数组了,是在第一次put方法的时候穿件数组,同时创建的是Node[] table,底层实现上还是Entry数组。

当我们使用HashMap的put的时候,可能会出现下面的操作。

当我们哈希碰撞的时候,就会比较内容,底层就会调用key值锁属于类型的equals方法来进行比较它们的value值是否相等,如果想等那么就会取代value1成为value2,假如说不相同,那么就会继续在这个链表上面进行比较,如果都不相同就会出现一个新的节点来进行存储。

注意!

我们来看一下put的时候会经历什么

首先开始的时候先判断是否创建的有Map假如说没有的话就会进行扩容,扩容到原来的二倍,初始为8,当我们进行存入的时候会通过Hash Code计算如果索引为空插入,不是的话就会通过equals方法来比较原来的key与插入的key一样的话直接覆盖,不一样的话,先判断这个数组下面是链表还是红黑树,如果是红黑树直接插入,不是的话开始遍历这个链表,遍历的时候判断链表长度是否大于8,是的话转换成红黑树,然后插入,不是的话链表插入插入之后会对这个数组的大小进行判断,如果键值对达到了临界值就会对HashMap进行扩容,这个临界值(threshold)=容量(capacity)*加载因子(load Factor),也就是已经占用的数组的最大值,扩容依旧是两倍。

http://www.dtcms.com/wzjs/52967.html

相关文章:

  • 源码网站模板外贸营销系统
  • 如何设计网站的主菜单西安seo学院
  • 东港区网站制作四川企业seo推广
  • 电子商务网站运营流程衡阳seo服务
  • 网页显示网站正在建设中怎么做成功的网络营销案例及分析
  • 制作动画网站模板精准营销推广
  • 做的比较好的p2p网站搜索引擎竞价排名
  • icp网站备案密码找回谷歌seo视频教程
  • 自己做网站美工独立网站
  • 网站建设可以帮助企业安徽百度关键词优化
  • 青岛市网站建设公司托管竞价账户哪家好
  • 企业网站手机版模板免费下载有哪些平台可以免费发广告
  • 利用小偷程序做网站seo查询工具
  • 延安网站制作惠州seo网络推广
  • 网站空间10gseo是什么专业的课程
  • 企业网站html百度云高平网站优化公司
  • dw做视频网站百度指数可以查询到哪些内容
  • 商丘购物网站开发设计搜索引擎平台排名
  • 江西南昌网站建设公司哪家好排名优化关键词公司
  • 银川网站建设百度怎么打广告
  • 成都有哪些做网站开发的大公司搜索优化推广公司
  • 网站值多少钱网页关键词优化软件
  • 网站制作相关知识百度seo推广怎么做
  • iis做动态网站吗好搜网惠州seo
  • 大学生网站设计作品本周时事新闻概要10条
  • 不花钱的网站建设市场营销策划方案范文
  • 自己有网站怎么赚钱手机百度浏览器
  • 企业的网站建设怎么记科目百度竞价开户渠道
  • 彩票网站招代理广告怎么做宁波网站推广优化哪家正规
  • 主机宝怎么设置网站主页如何创建网站教程