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

分销网站建立个人备案网站营业执照

分销网站建立,个人备案网站营业执照,网站如何做监控直播,小程序开发多少钱HashSet 是一个基于 HashMap 实现的无序列表。 它不保证数据存储的顺序, 但是可以保证存储的数据是唯一不重复的, 同时支持存储 null。 如果再了解 HashMap 后, HashSet 是几个 Collection 实现中最容易理解的集合, 因为 HashSet 的所有操作都是借助于 HashMap 实现的。 Hash…HashSet 是一个基于 HashMap 实现的无序列表。 它不保证数据存储的顺序, 但是可以保证存储的数据是唯一不重复的, 同时支持存储 null。 如果再了解 HashMap 后, HashSet 是几个 Collection 实现中最容易理解的集合, 因为 HashSet 的所有操作都是借助于 HashMap 实现的。 HashSet 内部声明了一个 HashMap, 然后将数据存储在 HashMap 的 key 中, 所有的 value 直接设置为同一个 Object 对象, 借助 HashMap key 的唯一性间接的实现了 HashSet 的唯一性。 1 HashSet 中的几个重要属性 public class HashSetE {// 一个静态, 不可变的 Object 变量// 静态保证了唯一性, 整个应用就一个, 可以节省空间// 不可变, 进一步保正这个对象不会被任何线程修改private static final Object PRESENT new Object();// HashSet 中存储数据的地方// 就是借助 HashMap 存储的, 存入 HashSet 的数据, 统一放到这个 HashMap 的 key 中, 这个 key 对应的 value 则统一为上面定义的静态 Objectprivate transient HashMapE,Object map; }2 HashSet 的构造方法 2.1 无参的构造函数 public HashSet() {// 为属性 map 赋值, 声明为 HashMapmap new HashMap(); }很简单, 创建一个 HashMap, 并赋值给自己存储数据的属性 HashMapE,Object map 2.2 指定容量的构造函数 public HashSet(int initialCapacity) {// 指定容量 map new HashMap(initialCapacity); }同样, 直接创建一个指定容量的 HashMap, 然后赋值给自己存储数据的属性 HashMapE,Object map 2.3 指定容量和负载因子的构造函数 public HashSet(int initialCapacity, float loadFactor) {// 指定容量, 负载因子map new HashMap(initialCapacity, loadFactor); }依旧是直接调用对应 HashMap 的方法, 创建出需要的 HashMap, 再赋值给自己的 HashMapE,Object map 属性 2.4 给定一个 Collection 的构造函数 public HashSet(Collection? extends E c) {// 创建一个 HashMap 赋值到自己的属性map new HashMap(Math.max((int) (c.size()/.75f) 1, 16));// 添加全部addAll(c); }// 将一个集合中的数据遍历添加到自己的 HashMap 中 public boolean addAll(Collection? extends E c) {boolean modified false;// 依次遍历每一个元素for (E e : c)if (add(e))modified true;return modified; }// 向自己的 HashMap 添加数据 public boolean add(E e) {// 很简单的调用 HashMap 的 put 方法, key 值为需要存入的数据, value 为 声明好的静态变量 PRESENTreturn map.put(e, PRESENT)null; }2.5 一个比较特殊的构造函数: 没有提供出去的构造函数 HashSet(int initialCapacity, float loadFactor, boolean dummy) {// dump 参数没有作用, 只是为了重载// 通过这个构造函数, 可以将 HashSet 默认的 map 实现变为 LinkedHashMap, 主要是给子类 LinkedHashSet 起使用, 达到有序的效果map new LinkedHashMap(initialCapacity, loadFactor); }3 HashSet 的操作方法 3.1 添加数据 public class HashSetE {// 单个添加元素public boolean add(E e) {// 直接调用 map 的 put 方法return map.put(e, PRESENT)null;} }3.2 其他的添加方法 public class HashSetE {// 直接添加一个集合public boolean addAll(Collection? extends E c) {boolean modified false;for (E e : c)// 遍历所有的元素, 调用自身的 add 方法if (add(e))modified true;return modified;} }3.3 删除数据 public class HashSetE {public boolean remove(Object o) {// 同样是调用 map 的 remove 方法return map.remove(o)PRESENT;} }同样的可以通过 removeAll 直接清空 HashSet 的数据 3.4 查询数据 Set 比较特殊, 没有提供直接获取值的方法 get 方法。 因为没必要, 如果你现在已经有一个数据 a, Set.get(a), 返回结果想要什么? 如果只是单纯的是想判断对象是否存在可以通过 contain 方法进行判断。 4 HashSet 的补充 因为 HashSet 是通过 HashMap 实现的, HashMap 的 key 可以存 null, 但是只能存一个, 所以 HashSet 支持存 null, 同时只能存一个因为 HashMap 是非线程安全的所以 HashSet 也是线程非安全的。HashSet 也是自定义了序列化方法HashSet 内部没有提供自己的迭代器, 他内部是通过 HashMap 的 key 迭代器实现的HashMap 支持 fail-fast 机制, 理所当然的 HashSet 也是。HashSet 的数据是无序的, 如果需要使用有序的 Set, 可以使用 LinkedHashSet, 内部是借助 LinkedHashMap 实现
http://www.zqtcl.cn/news/277688/

相关文章:

  • 个人备案网站可以做支付吗做娱乐新闻的网站有哪些
  • 国家建设部网站网站导航如何做半透明
  • 长治网站设计制作网站网站是用什么软件做的
  • wordpress成长记录网站模版市场推广方案ppt
  • 外贸网站建设560wordpress 在线音乐播放器
  • 大连哪里有手机自适应网站建设维护交互式网站开发技术asp
  • 潍坊做网站多少钱个人业务网站带后台
  • 网站建设灬金手指科杰全部游戏免费(试玩)
  • 石家庄网站设计宜昌市住房和城乡建设局网站
  • 商城型企业网站的功能中山市中国建设银行网站
  • 公司做网站那个网站好网站推广seo方法
  • 赣州制作网站百度贵州icp网站备案中心
  • 阿里云域名如何做网站如何查询网站快照
  • 温州市城乡建设厅网站首页有没有做网站的多少钱
  • 网站建设实训报告建议缘震网络网站建设之f套餐
  • 网上免费注册qq网站wordpress怎么发布网站
  • 网站没有根目录国内互联网建站公司排名
  • 做网站需要架构师吗鞍山贴吧最新消息
  • 大连网站关键词推广网站建设合同报价
  • 网站维护费用一年多少广州h5网站建设
  • 如何搭建静态网站源码手机开发软件app的工具
  • 之前做的网站推广怎么删除专业做网站官网
  • 泉州做 php 网站宁波信息港
  • 网站建设专员招聘如何建立网站会员系统
  • 佛山网站关键词自助建站教程
  • 海口网站seo做网站域名后缀选择
  • 网站建设新手看什么书网络营销推广师
  • 小浣熊做单网站观看床做视频网站
  • 网站版面布局结构图门户网站要求
  • 网站左侧广告代码网站建设交接协议书