java集合(十五) ---- LinkedHashSet 类

目录

十五、LinkedHashSet 类

15.1 位置

15.2 特点

15.3 构造方法

15.4 常用方法


十五、LinkedHashSet 类

15.1 位置

LinkedHashSet 类位于 java.util 包下

15.2 特点

  1. 是 Set 接口的实现类,也是 HashSet 的子类
  2. 底层使用 LinkedHashMap 类来存储数据。LinkedHashSet 类将真正的数据存储在 LinkedHashMap 的 key 上,而 value 上利用一个静态的 Object 对象来占用,所以 value 上都是同一个对象,所占内存空间很小,几乎可以忽略不记
  3. LinkedHashSet 类使用的是哈希表+单链表+红黑树+双向链表的结构。哈希表用来存储不同位置的元素。单链表和红黑树用来存储哈希表中同一个位置上的多个元素。一开始先用单链表,当单链表的长度大于 8 时转为红黑树结构。双向链表用来维护元素之间的次序。所以存入的次序和取出的次序是一样的
  4. 存入顺序和取出顺序一样

15.3 构造方法

public LinkedHashSet()

作用

创建一个空的 LinkedHashSet 对象

其底层 LinkedHashMap 实例的默认初始容量是 16 ,加载因子是 0.75

public LinkedHashSet(int initialCapacity)

作用

创建一个空的 LinkedHashSet 对象

其底层 LinkedHashMap 实例的的容量为指定容量 ,加载因子是 0.75

public LinkedHashSet(Collection c)

作用

创建一个包含指定集合 c 的 LinkedHashSet 对象

public LinkedHashSet(int initialCapacity,float loadFactor)

作用

创建一个空的 LinkedHashSet 对象

其底层 LinkedHashMap 实例的的容量为指定容量 ,加载因子为指定加载因子

15.4 常用方法

参考 Collection 接口

Collection 接口


你可能感兴趣的:(java,java,开发语言)