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

柳州企业做网站南宁百度推广排名优化

柳州企业做网站,南宁百度推广排名优化,做木工网站,凡客家居HashMap源码介绍 下面并非完整的源码,主要简单了解其流程。 1. 基本成员变量 哈希桶/开散列,链地址法/开链法是由:数组 链表(单链表) 红黑树(当数组长度>64 && 链表长度>8以后,链表变成红黑树&#xf…

HashMap源码介绍

下面并非完整的源码,主要简单了解其流程。

1. 基本成员变量

  • 哈希桶/开散列,链地址法/开链法是由:数组 + 链表(单链表) + 红黑树(当数组长度>=64 && 链表长度>=8以后,链表变成红黑树,树化和解树化)
  • java 会在冲突链表长度大于一定阈值后(当数组长度>=64 && 链表长度>=8以后),将链表转变为搜索树(红黑树)

2. 构造方法

  • 当调用不带参数的构造方法时,默认是没有分配数组大小的。但第一次put的时候,数组大小分配为了默认的16(put流程中有讲到)
  • 当调用带一个参数的构造方法时,其实内部调用了带两个参数的构造方法。

 带有两个参数的构造方法:

实现Map接口的整体集合给到HashMap,来进行构造map(用的比较少)

3. put方法的流程

前提:调用的是不带参数的构造方法

第一次put的流程:

  1. 先计算哈希值,计算哈希值的时候,右移和异或(^),是为了得到更均匀的数字。
  2. 判断数组是否为空,为空数组大小分配为默认的16
  3. 计算在数组中的位置,判断该位置是否为空,为空直接插入。不为空走下面介绍的代码。

注意:

  • 这里计算数组位置下标的方式 (n-1)&hash 是 等价于 key%len 。前提是n必须是2 的次幂
  • HashMap一般会保证数组的容量是 2的某个次幂

计算的数组位置不为空:

  1. 先判断是否为红黑树,是,按照红黑树的方式插入;不是走下一步
  2. 在该位置进行尾插,每次尾插后判断该链表是否要树化操作

4. get方法的流程

  • get方法流程与put方法流程类似,可自行查看源码。
  • 注意:get方法,存在解树化操作


好啦Y(^o^)Y,本节内容到此就结束了。下一篇内容一定会火速更新!!!

后续还会持续更新数据结构与算法方面的内容,还请大家多多关注本up,第一时间获取新鲜的知识。

如果觉得文章不错,别忘了一键三连哟!

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

相关文章:

  • 网站开发 商标注册广州百度seo公司
  • 网站制作主题标题优化方法
  • 做网站时用插件需要注明吗网站优化策略分析论文
  • 织梦如何做视频网站软件开发一般需要多少钱
  • 制造动漫网站开发目的西安seo网络推广
  • 仪器网站模板如何做好精准营销
  • 2017年最新网站设计风格今日小说排行榜百度搜索榜
  • 网站统计怎么做营销推广seo
  • 私人网站服务器免费海南网站推广
  • 郑州网站建设 .cc搜索大全引擎地址
  • wordpress后台框架seo排名查询
  • 织梦做响应式网站写文章在哪里发表挣钱
  • 湖州织里童装批发网站广告代理
  • 连锁酒店网站建设seo技巧是什么
  • 上海市住房城乡建设管理委员会网站百度售后客服电话24小时
  • 偷拍男女宾馆做爰视频网站手机网页制作软件
  • 动漫美女做爰视频网站百度指数行业排行
  • 建站专业团队一站式服务网络市场调研的方法
  • 网站制作思路新闻发稿软文推广
  • 做网站都需要什么写软文推广
  • 全网推广引流自动seo系统
  • 网站加载页模板百度网页版登录入口
  • 资兴网站设计网络销售模式有哪些
  • 做哪种网站能赚到钱b站视频推广
  • 网站注册备案网址申请注册
  • 网站建设及推广方案b2b电子商务平台有哪些
  • 京东商城网站怎么做信息流广告代运营
  • 企查查官网查企业网页版电商seo是指
  • 网站开发是什seo计费怎么刷关键词的
  • wap手机网站开发怎么创建网址