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

可信赖的邵阳网站建设公司地址怎么弄在百度上显示

可信赖的邵阳网站建设,公司地址怎么弄在百度上显示,织梦做网站被告,380元网站建设HashSet原理HashSet原理1.概述2.底层代码3.原理图解4.总结4.1: 1.7原理总结4.2: 1.8原理总结HashSet原理 1.概述 ​ HashSet 实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的 迭代顺序;特别是它不保证…

HashSet原理

  • HashSet原理
    • 1.概述
    • 2.底层代码
    • 3.原理图解
    • 4.总结
      • 4.1: 1.7原理总结
      • 4.2: 1.8原理总结

HashSet原理

1.概述

​ HashSet 实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的 迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。

2.底层代码

​ HashSet 它是基于 HashMap 实现的,HashSet 底层使用 HashMap 来保存 所有元素,因此 HashSet 的实现比较简单,相关 HashSet 的操作,基本上都是直接调用底 层 HashMap 的相关方法来完成

public class HashSet<E>extends AbstractSet<E>implements Set<E>, Cloneable, java.io.Serializable
{static final long serialVersionUID = -5024744406713321676L;// 底层使用hashmap来保存hashset中所有的元素private transient HashMap<E,Object> map;// Dummy value to associate with an Object in the backing Map// 定义一个虚拟的object对象作为hashmap的value,将次对象定义为static final,放在map的值的位置private static final Object PRESENT = new Object();// 默认无参构造,实际底层初始化一个空的hashmap,并使用默认初始容量为16和加载因子为0.75public HashSet() {map = new HashMap<>();}// 构造一个指定Collection中元素的新set,实际底层使用默认的加载因子为0.75和足以包含指定Collection中	// 左右元素的初始容量来定义一个hashmappublic HashSet(Collection<? extends E> c) {map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));addAll(c);}// 以指定的initialCapacity和loadFactor构造一个空的set,实际底层以相同的参数,构造一个空的map集合// initialCapacity:初始容量,loadFactor:加载因子public HashSet(int initialCapacity, float loadFactor) {map = new HashMap<>(initialCapacity, loadFactor);}// 指定初始长度创建一个空的集合,实际使用一样的参数,与加载因子为0.75构造一个空的mappublic HashSet(int initialCapacity) {map = new HashMap<>(initialCapacity);}// 指定初始长度和加载因子构造一个新的空链接哈希集合// 此构造函数为包含访问权限,不对外公开,实际只是对LinkedHashSet的支持// 实际以指定的参数创建一个空的LinkedHashMap集合HashSet(int initialCapacity, float loadFactor, boolean dummy) {map = new LinkedHashMap<>(initialCapacity, loadFactor);}

3.原理图解

hashset1.7原理

hashset1.8原理

hashset1.8元素存储

4.总结

4.1: 1.7原理总结

  1. 底层结构:哈希表.(数组+链表)
  2. 数组的长度默认为16,加载因子为0.75
  3. 首先会先获取元素的哈希值,计算出在数组中应存入的索引
    1. 判断该索引处是否为null
    2. 如果是null,直接添加
    3. 如果不是null,则与链表中所有的元素,通过equals方法进行比较属性值只要有一个相同就不存入,如果都不一样,就存入.

4.2: 1.8原理总结

  1. 底层结构:哈希表.(数组+链表+红黑树)
  2. 当挂在下面的元素过多,那么不利于添加,也不利于查询,所以在1.8之后
  3. 当链表长度超过8的时候,自动转换为红黑树
  4. 存储流程不变.

对于hsahset中保存对象,一定注意正确重写equals和hsahcode方法,以保证存入的对象唯一性.

http://www.mmbaike.com/news/90250.html

相关文章:

  • 怎么提升网站流量百度推广优化排名怎么收费
  • 网站每年续费费用网络市场调研的五个步骤
  • 哪个网站可以做海报网上推广赚钱方法
  • 东莞企业网站制作推广运营百度文库个人登录
  • wamp做的网站标签图标厦门百度竞价开户
  • 中国建设银行网站主要功能提高工作效率总结心得
  • 国外做宠物产品的网站小说关键词自动生成器
  • b站起飞推广个人网站创建平台
  • 集群注册的公司可以做网站备案黄冈免费网站推广平台汇总
  • 网站请人做的 域名自己注册的 知道网站后台 怎么挂自己的服务器郑州搜索引擎优化
  • 网站建设公司厂西安百度推广代运营
  • 网站建设以什么盈利抖音seo关键词优化排名
  • 提供经营性网站备案百度爱采购推广一个月多少钱
  • 怎么防止网站攻击重庆网站seo好不好
  • 南京建设公司网站百度助手app下载
  • 创口贴设计网站官网百度热门关键词
  • 展示型网站建设方案营销推广ppt
  • 铜川市新区建设局网站百度指数专业版app
  • 建设网站实训报告vivo应用商店
  • 怎么在自己网站上做拼图推广管理
  • 公司开发网站李守洪排名大师怎么样
  • 2014网站设计趋势什么是网络推广工作
  • 王璐 牟平 网站建设东莞新闻头条新闻
  • 公司做网站哪里做深圳网站优化平台
  • 如何伪原创 网站seo入门免费教程
  • 西安做网站朋朋如何搜索网页关键词
  • 桂林漓江景区宝鸡seo优化公司
  • 青岛响应式网站app推广赚佣金
  • 济南市住宅与房地产信息网seo是指什么岗位
  • 天津河东做网站公司成都网站推广公司