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

app下载平台服务网站优化快照

app下载平台服务,网站优化快照,网站的关键词在哪设置,苏州家政保洁公司哪家好HashMap中的元素的特点#xff1a; HashMap中的所有key之间是不可重复的、无序的。所有的key构成一个Set集合。 HashMap中的所有的value彼此之间是可重复的、无序的。所有的value构成一个Collection集合。 HashMap中的一对key-value#xff0c;就构成了一个entry。Map中的ent…HashMap中的元素的特点 HashMap中的所有key之间是不可重复的、无序的。所有的key构成一个Set集合。 HashMap中的所有的value彼此之间是可重复的、无序的。所有的value构成一个Collection集合。 HashMap中的一对key-value就构成了一个entry。Map中的entry是不可重复的、无序的。所有的entry就构成了一个Set集合。 HashMap的源码剖析 jdk7 HashMap String , Integer map new HashMap(); //① map.put(AA,78);//② ①创建对象的过程中底层会初始化数组长度为16即Entry[ ] table new Entry[16]; ②“AA”和78封装到一个Entry对象中将此对象添加到table数组中。 添加的过程 将key1value1添加到当前map中 首先需要调用key1所在类的hashCode( )方法计算key1对应的哈希值1此哈希值1经过某种算法hash( )之后得到哈希值2。 哈希值2再经过某种算法indexFor( )之后就确定了其在数组table的索引位置i。         ·如果此索引位置i的数组位置上没有元素则key1value1添加成功。——情况①         ·如果此索引位置i的数组位置上有元素若为key2则需要继续比较key1和key2的哈希值2。--哈希冲突。                     ·如果key1的哈希值与key2的哈希值不相同则key1value1也添加成功。——情况② · 如果key1的哈希值与key2的哈希值相同则需要则需要继续判断key1和key2的equals( )的返回值。要调用key1所在类的equals( )方法将key2作为参数传入。                                     ·如果调用equals( )方法返回false则key1value1添加成功。——情况③                                     ·如果调用equals( )方法返回true则认为key1和key2是相同的。默认情况下value1替换原有的value2. 添加成功的情况 情况①直接将key1value1存放到数组的索引i的位置 情况②与情况③key1value1元素与现有的key2value2构成单向链表结构key1value1指向key2value2jdk7中即头插法。 如果满足以下情况会扩容 当元素的个数达到临界值数组长度*加载因子时就考虑扩容。默认的加载因子为0.75。默认扩容后为原来的两倍。 如果put方法是添加操作会返回null。如果put是修改操作会返回原来位置上的value值。 jdk8中 ①在jdk8中当创建了HashMap实例以后底层并没有初始化table数组。当首次添加keyvalue时进行判断如果发现table尚未初始化则对数组进行初始化。懒汉式 ②在jdk8中HashMap底层定义了Node内部类实现了Entry接口替换了jdk7中的Entry内部类。即创建的数组是Node[ ]。 ③在jdk8中出现哈希值冲突的情况判断相应的keyvalue可以添加到指定发生哈希冲突的索引上采用的是原来的元素指向新的元素即尾插法。 ④在jdk7中底层采用的是数组单向链表。在jdk8中底层采用的是数组单向链表红黑树。 使用红黑树的情况单向链表转换为红黑树如果数组索引i上的元素的个数达到8并且数组的长度达到64时就将此索引i位置上的多个元素改为使用红黑树进行存储。红黑树进行put( )/get( )/remove( )等操作的时间复杂度为O(log n),比单向链表的复杂度O(n)的要更好性能更高。 红黑树退化单向链表转换为单向链表的情况当使用红黑树的索引i上的元素个数低于6时就会将红黑树结构退化为单向链表。 LinkedHashMap与HashMap的关系 LinkedHashMap是HashMap的子类。 LinkedHashMap在HashMap使用数组单向链表红黑树的基础上增加了一对双向链表记录添加keyvalue的先后顺序。便于遍历所有的key-value。 HashSet和LinkedHashSet Hash底层使用的是HashMap。 LinkedHashSet底层使用的是LinkedHashMap。 HashSet的元素的值存储在底层的HashMap的key值中而所有的key值对应的value值都是同一个Object对象HashSet里用不上其value值。LinkedHashSet同理。
http://www.hkea.cn/news/14537958/

相关文章:

  • 如何建购物网站网上做问卷报酬不错的网站是
  • 郑州网站建设模板网站备案提示
  • 网站跳转怎么做重庆在线app
  • 网站主页流动图片怎么做怎么做百度快照让网站排前面
  • 网站 动态内容加速wordpress 更改目录
  • 建设工程质量管理条例网站网站的开发环境怎么写
  • 网站开发工资一般多少钱怎么做网站文件
  • 可以做设计的网站一键开发小程序
  • 网站程可以自己做吗外包网站有哪些
  • 做网站的公司cnfg网站建设和网页设计视频教程
  • 在中国做网站网站违法吗钙网logo设计免费
  • 聊城住房建设局网站ppt在线浏览网站源码
  • 市场调查 网站建设外链在线发布工具
  • 微信公众号的微网站怎么做ps如何做网站专题
  • 网站建设明确细节彩票网站怎么做推广
  • 上海网站建设心得企点邮箱登录入口
  • 南京学做网站查看邮箱注册了哪些网站
  • 网站建设中需要注意的问题深圳网站建设toolcat
  • 免费做淘宝店铺招牌的网站做网站类网站费用
  • 做团购网站需要什么资质如何建立企业网站
  • 上海网站建设学校软装设计公司名字
  • 中山网站建设思网络营销策划活动方案
  • 平昌县住房和城乡建设局网站上海今天新闻头条新闻
  • 蓟县网站制作网站开发公司飞沐
  • 网站网页框架构架图怎么做网站申请流程
  • 福州商城网站建设h5个人网站模板
  • 怎样做企业手机网站首页浙江省杭州市建设厅网站
  • 网站建设代理免费开挂的软件
  • 网站建设技术支持包括哪些页面首页wordpress
  • 信丰县建设局网站南京工程建设招聘信息网站