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

网站不备案会有什么影响wordpress增加用户权限

网站不备案会有什么影响,wordpress增加用户权限,建网站需要什么要求,微信软件LinkedHashMap是HashMap的子类,上一节初步分析过HashMap,这一节分析LinkedHashMap。 LinkedHashMap的数据结构 Entry LinkedHashMap的Entry继承自HashMap的Node,除了Node的数据结构之外,增加了before、after,所以我们…

LinkedHashMap是HashMap的子类,上一节初步分析过HashMap,这一节分析LinkedHashMap。

LinkedHashMap的数据结构

Entry
LinkedHashMap的Entry继承自HashMap的Node,除了Node的数据结构之外,增加了before、after,所以我们可以猜测到LinkedHashMap的Entry应该是双向列表结构:

 static class Entry<K,V> extends HashMap.Node<K,V> {Entry<K,V> before, after;Entry(int hash, K key, V value, Node<K,V> next) {super(hash, key, value, next);}}

此外,LinkedHashMap定义了首节点和尾结点:

    transient LinkedHashMap.Entry<K,V> head;/*** The tail (youngest) of the doubly linked list.*/transient LinkedHashMap.Entry<K,V> tail;

table数组
继承自HashMap,没有变化!

数据依然保存在table数组中,不同的是table中的对象变成了Entry。

###LinkedHashMap的初始化
与HashMap的初始化方式、以及涉及到的容量、装载因子、扩容阈值等概念基本相同。

不过,增加了一个概念accessOrder,javadoc的解释是定义遍历访问顺序,当值为true时按照访问顺序排序,值为false则按照插入顺序排序。

    /*** The iteration ordering method for this linked hash map: <tt>true</tt>* for access-order, <tt>false</tt> for insertion-order.** @serial*/final boolean accessOrder;

LinkedHashMap赋值

LinkedHashMap的赋值逻辑如下(假设待存放的数据为e<key1,value1>):

  1. 检查table数组为空的话,初始化指定容量或者默认容量的table数组
  2. 根据key1的哈希值计算得出(算法为(容量 - 1) & hash(key1))对应的桶。这一步很重要,一般来讲优秀的hash算法能够尽可能确保不同的key值得到不同的hash值,也就可以确保放入不同的桶内。但是不可避免的,可能会存在不同key值得到相同hash值的情况(hash冲突:key1<>key2,hash(key1)=hash(key2)),这种情况下就会放置在相同的桶(比如table[5])内。
  3. 得到桶之后,判断桶内是否已经有数据。
  4. 没有数据则直接新建一个Node:newNode(hash, key1, value1, null),放在桶中,结束
  5. LinkedHashMap新建的Node是他的Entry对象,所以创建对象的过程与HashMap的略有不同:创建的是双向链表(通过before、after首尾相连),并在创建的过程中指定LinkedHashMap的head和tail。
  6. 否则,桶内有数据,有两种情况:一是为键值key1重复赋值、二是hash冲突。
  7. 如果是hash冲突,则new一个Node:newNode(hash, key1, value1, null)并将其设置为桶内的最后一个Node。
  8. 如果是重复赋值(桶内数据的key值=key1),则为key1重新赋值value1,并返回key1的旧值

与HashMap的赋值过程基本相同,不同之处在于:除了将数据分配在hash桶之外,同时按照存储数据的先后顺序创建双向链表。

从LinkedHashMap获取数据

LinkedHashMap通过key值获取数据的逻辑与HashMap的完全一致

通过get(key)方法获取数据的逻辑如下(假设要获取的数据key=key1):

  1. table数组不为空并且数组长度大于0,则采用与put数据相同的算法得到key1值对应的桶。
  2. 桶内不空则从第一个节点开始检查,如果节点key值等于key1,则返回该节点的value。如果第一个节点不满足条件,则依次检查桶内所有其他节点。
  3. 桶内空,或者桶内不空但是没有找到满足条件的对象(应该不可能)则返回null,表明当前HashMap中不存在key值为key1的对象

所以我们可以看到,正如名称给我们的启示一样,LinkedHashMap与HashMap的区别就是多了一个链表

我们知道LinkedHashMap能够确保按照存储顺序获取数据,而HashMap遍历到的数据是随机的,下次我们就具体分析一下其底层原因。


文章转载自:

http://8CdY3Pjs.dqdss.cn
http://QdEYhWoi.dqdss.cn
http://wfBqqpg6.dqdss.cn
http://m8tY8owm.dqdss.cn
http://2X9vQapk.dqdss.cn
http://6KlVmDJI.dqdss.cn
http://wafrMijL.dqdss.cn
http://aprDtDBz.dqdss.cn
http://Zok1vwjX.dqdss.cn
http://ELViMo8s.dqdss.cn
http://wXbozdVo.dqdss.cn
http://Atx7hy2u.dqdss.cn
http://WnrO1Mdk.dqdss.cn
http://chVw3G28.dqdss.cn
http://ch7W08Ey.dqdss.cn
http://Jnnu2EAP.dqdss.cn
http://VmZorV9e.dqdss.cn
http://I7yXll8X.dqdss.cn
http://nfdsj3Tx.dqdss.cn
http://GNCPrM9u.dqdss.cn
http://5yDdj55P.dqdss.cn
http://a3BC0VBb.dqdss.cn
http://4qatQwJK.dqdss.cn
http://L4j00Mtk.dqdss.cn
http://77inLH6o.dqdss.cn
http://RCV0tN5s.dqdss.cn
http://TQte8xzE.dqdss.cn
http://n7iyCnlt.dqdss.cn
http://g1tdldBe.dqdss.cn
http://8fB2te0q.dqdss.cn
http://www.dtcms.com/wzjs/671085.html

相关文章:

  • 新余网站开发网站建设seo
  • 网站开发技术项目代码搜索珠海建网站的网络公司
  • 重庆梁平网站建设哪家好平面设计接单赚钱平台
  • 手机网站返回顶部代码网站设计免费模板
  • 抖音网站使用密码访问wordpress文章
  • 我的家乡网站建设模板下载做网页收集素材常用的网站有哪些
  • 郑州美容网站建设专门做画册的网站
  • 网站推广的作用是什么做便宜的宝贝的网站
  • 虚拟机可以做两个网站云服务器可以自己搭建吗
  • 怎么建设一个购买卡密的网站网站无法上传图片
  • 网站怎么做利于优化王烨凡
  • ssh框架可以做网站么wordpress 添加角色
  • 中国平面设计和网站建设绍兴网站优化
  • 济南网站公司哪家好求网站建设的视频教程
  • 莆田网站 建设兰州网站建设|兰州网站制作|兰州网站设计公司|兰州网络公司
  • 刚做的网站在百度上搜不到东莞网站设计哪家好
  • 男男做的视频网站济源市建设网站
  • 哪个网站专门做游戏脚本智慧团建网站密码格式
  • 龙岩做网站的项目介绍ppt模板
  • 网站建设一对一培训班wordpress 上传资源
  • 网站内链规划重庆装修公司有哪些
  • 电脑网站 发展移动端jsp网站 iis
  • 专业型网站和个人网站化工原料价格查询网站
  • 申请域名哪个网站好安徽网页设计
  • 校园二手网站开发的意义苏州手机网站制作
  • 怎么生成域名做网站app store应用商店下载
  • dede网站源码 如何怎么做网站咨询
  • 网站备案中商城服务性质是什么虚拟机wordpress安装教程视频教程
  • 网站如何做电脑和手机兰州做网站咨询兰州做网站公司
  • 做网站的公司如何运营上海软件开发公司排名