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

苗木网站模板网站 改版

苗木网站模板,网站 改版,请选择一个网站制作软件,莱西市建设局网站转载自 深入Java集合学习系列#xff1a;LinkedHashSet的实现原理 1. LinkedHashSet概述#xff1a; LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于#xff0c;后者维护着一个运行于所有条目的双重链接列表。此链接…转载自  深入Java集合学习系列LinkedHashSet的实现原理 1.    LinkedHashSet概述 LinkedHashSet是具有可预知迭代顺序的Set接口的哈希表和链接列表实现。此实现与HashSet的不同之处在于后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序该迭代顺序可为插入顺序或是访问顺序。 注意此实现不是同步的。如果多个线程同时访问链接的哈希Set而其中至少一个线程修改了该Set则它必须保持外部同步。 2.    LinkedHashSet的实现 对于LinkedHashSet而言它继承与HashSet、又基于LinkedHashMap来实现的。 LinkedHashSet底层使用LinkedHashMap来保存所有元素它继承与HashSet其所有的方法操作上又与HashSet相同因此LinkedHashSet 的实现上非常简单只提供了四个构造方法并通过传递一个标识参数调用父类的构造器底层构造一个LinkedHashMap来实现在相关操作上与父类HashSet的操作相同直接调用父类HashSet的方法即可。LinkedHashSet的源代码如下 public class LinkedHashSetE      extends HashSetE      implements SetE, Cloneable, java.io.Serializable {        private static final long serialVersionUID  -2851667679971038690L;        /**      * 构造一个带有指定初始容量和加载因子的新空链接哈希set。      *      * 底层会调用父类的构造方法构造一个有指定初始容量和加载因子的LinkedHashMap实例。      * param initialCapacity 初始容量。      * param loadFactor 加载因子。      */      public LinkedHashSet(int initialCapacity, float loadFactor) {          super(initialCapacity, loadFactor, true);      }        /**      * 构造一个带指定初始容量和默认加载因子0.75的新空链接哈希set。      *      * 底层会调用父类的构造方法构造一个带指定初始容量和默认加载因子0.75的LinkedHashMap实例。      * param initialCapacity 初始容量。      */      public LinkedHashSet(int initialCapacity) {          super(initialCapacity, .75f, true);      }        /**      * 构造一个带默认初始容量16和加载因子0.75的新空链接哈希set。      *      * 底层会调用父类的构造方法构造一个带默认初始容量16和加载因子0.75的LinkedHashMap实例。      */      public LinkedHashSet() {          super(16, .75f, true);      }        /**      * 构造一个与指定collection中的元素相同的新链接哈希set。      *       * 底层会调用父类的构造方法构造一个足以包含指定collection      * 中所有元素的初始容量和加载因子为0.75的LinkedHashMap实例。      * param c 其中的元素将存放在此set中的collection。      */      public LinkedHashSet(Collection? extends E c) {          super(Math.max(2*c.size(), 11), .75f, true);          addAll(c);      }  }  在父类HashSet中专为LinkedHashSet提供的构造方法如下该方法为包访问权限并未对外公开。 /**      * 以指定的initialCapacity和loadFactor构造一个新的空链接哈希集合。      * 此构造函数为包访问权限不对外公开实际只是是对LinkedHashSet的支持。      *      * 实际底层会以指定的参数构造一个空LinkedHashMap实例来实现。      * param initialCapacity 初始容量。      * param loadFactor 加载因子。      * param dummy 标记。      */      HashSet(int initialCapacity, float loadFactor, boolean dummy) {      map  new LinkedHashMapE,Object(initialCapacity, loadFactor);      }  由上述源代码可见LinkedHashSet通过继承HashSet底层使用LinkedHashMap以很简单明了的方式来实现了其自身的所有功能。 3.  相关说明 1) 相关HashSet的实现原理请参考我的上一遍总结深入Java集合学习系列HashSet的实现原理。 2相关HashMap的实现原理请参考我的上一遍总结深入Java集合学习系列HashMap的实现原理。
http://www.yutouwan.com/news/70611/

相关文章:

  • 辽宁省建设机械协会官方网站临沧市住房和城乡建设网站
  • 昆明网站制作工具手机端网页开发工具
  • 导航门户网站怎么做wordpress营销模板
  • 更新网站的步骤一个域名绑定多个网站
  • 微网站如何做宣传企业名录怎么导出
  • 站内搜索本网站怎么做wordpress计次查询
  • 淘客怎么做网站推广网站开发找哪个
  • 一个ip可以建设多少个网站wordpress页眉文件名
  • 溆浦县建筑公司网站长沙建设教育网站
  • 建设网站中存在的问题wordpress主题去版权
  • 网站建设合同范本大全服务器绑定网站打不开
  • 班级网站建设淘宝网站都是怎么做的吗
  • 装修网站排行榜前十名有哪些教育推广
  • 壹佰网站建设宜昌 网站建设
  • 外贸网站建站案例广州站是哪个站
  • 兖州网站制作移动公司营销网站设计
  • 地图销售网站网站怎么做内链接地址
  • 深圳高水平网站制作企业网站cms 开源
  • 百度的网站建设代码优秀设计集锦网站
  • 网站常用的一种js的图片幻灯片特效代码wordpress版块插件
  • 泰国浪琴手表网站学做网站的书
  • 3万网站建设费会计分录公司主页格式
  • 国美在线网站建设北京果木烤鸭制作方法
  • PHP网站开发如何建立vip怎么样做一个网站
  • 有没有专门做尾料回收的网站正能量网站
  • 那家做网站好wap712c
  • 南京做网站费用网站中嵌入地图
  • 咸宁网站设计互联网公司排名 2022
  • 赣州市城乡建设局官方网站在线响应式网站
  • 青岛建设集团招聘信息网站WordPress说说主题