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

WordPress阿里ossseo推广哪家公司好

WordPress阿里oss,seo推广哪家公司好,路飞 wordpress,湖南做网站360o引言(Map的重要性) 从事Java的小伙伴,在面试的时候几乎都会被问到Map,Map都被盘包浆了。Map是键值集合,使用的场景有很多比如缓存、数据索引、数据去重等场景,在算法中也经常出现,因为在Map中获…

引言(Map的重要性)

从事Java的小伙伴,在面试的时候几乎都会被问到Map,Map都被盘包浆了。Map是键值集合,使用的场景有很多比如缓存、数据索引、数据去重等场景,在算法中也经常出现,因为在Map中获取元素的时间复杂度为常数!

底层结构

在JDK1.8中Map的底层结构为数组+链表/红黑树。

 在JDK1.7之前为数组+链表

put方法的流程与源码

流程图

判断Map底层的Table数组是否为空,如果为空进行扩容

计算数组下标值

第一步通过hash函数获取hash值。

 hash函数,对象的hashcode与自己右移16位进行异或操作得到hash值

 第二步,hash值与数组的长度减一进行按位与操作(为什么数组的长度减一进行按位与,下篇文章会说)得到数组的下标。

判断该下标是否为空

如果为空进行赋值

 如果不为空,与下标的元素比较key是否相同,相同则覆盖

如果不相同,判断是否为树节点,是则向树中插入数据,否则向链表中插入数据。是树直接执行树的插入操作(较为复杂,没咋看懂);是链表的过程会遍历检查链表节点判断是否存在相同的key,相同则覆盖,不相同进行链接。

同时在链表中插入节点的时候如果链表的长度大于等于8会将链表转换为红黑树

数据插入完成后,判断是否超过阈值threshold,超过进行resize()扩容。

 equals重写,hashcode方法未重写,put现象

未重写hashcode方法

public class User extends abstractDemo{public String name;public String getName() {return name;}public void setName(String name) {this.name = name;}public User(String name) {this.name = name;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return Objects.equals(name, user.name);}//    @Override
//    public int hashCode() {
//        return Objects.hashCode(name);
//    }
}

 只重写equals方法会导致equals相同的对象hashcode不相同,依然会插入到table的数组中(set类似),同时get的时候也获取不到对应的值。

http://www.15wanjia.com/news/217.html

相关文章:

  • 沈阳网络科技公司排名seo裤子的关键词首页排名有哪些
  • 专业网站建设特点分析推广引流网站
  • 成都装修公司哪家实惠seo技术有哪些
  • 做国外网站收款怎么收武汉seo学徒
  • 什么是网站优化主要包括那几个百度收录关键词查询
  • 企石网站建设天津疫情最新情况
  • 东莞凤岗网站建设制作搭建一个网站需要多少钱?
  • 南软科技网站开发谷歌广告平台
  • 萍乡网站制作公司网站模板图片
  • 网站开发的选题依据保定seo外包服务商
  • 做软件项目需不需要有网站网络媒体广告代理
  • 关于网站建设的知识制作一个网站需要多少费用
  • 蓝田县住房与城乡建设局网站抖音视频排名优化
  • 青岛建网站公司seo中介平台
  • 在哪里可以学做网站百度知道下载安装
  • 新闻网站建设条件公关公司的主要业务
  • 设计做网站通用cms的源代码pc端百度
  • 没有网站可以做cpa广告么培训心得体会100字
  • 牌具做网站可以吗seo职位描述
  • 杭州 专业网站建设 网络服务seo优化个人博客
  • 金科科技 做网站社交网络推广方法
  • 建设视频网站流量百度推广一个点击多少钱
  • 网站大全下载软件安装营销型网站建设题库
  • 遵义做网站竞价排名是什么意思
  • 合肥seo外包平台引擎优化seo是什么
  • 网站的滚动新闻怎么做哪个浏览器不屏蔽网站
  • 专业做网站设计公司价格成都关键词优化服务
  • 为什么要做一个营销型网站十大网络舆情案例
  • 福田网站建设哪家公司靠谱免费推广有哪些
  • wordpress 内容管理 模版seo承诺排名的公司