文章目录
-
- 1. 简介
- 2. 继承体系
- 3. 构造器
- 4. 常用方法
1. 简介
public class LinkedHashSet<E>extends HashSet<E>implements Set<E>, Cloneable, java.io.Serializable {
}
LinkedHashSet 是 HashSet 的一个 扩展版本,HashSet 并不管什么顺序,而 LinkedHashSet 会维护一个 插入顺序。HashSet 内部使用 HashMap 的键来存储它的元素,而 LinkedHashSet 内部使用 LinkedHashMap 的键来存储和处理它的元素,LinkedHashSet 并没有自己的方法,所有的方法都继承自它的父类 HashSet。
2. 继承体系
3. 构造器
- 传入容量和装载因子
public LinkedHashSet(int initialCapacity, float loadFactor) { super(initialCapacity, loadFactor, true); }
- 只传入容量, 装载因子默认为 0.75
public LinkedHashSet(int initialCapacity) { super(initialCapacity, .75f, true); }
- 使用默认容量16, 默认装载因子0.75
public LinkedHashSet() { super(16, .75f, true); }
- 将集合c中的所有元素添加到LinkedHashSet中
public LinkedHashSet(Collection<? extends E> c) { super(Math.max(2*c.size(), 11), .75f, true);addAll(c); }
4. 常用方法
- public Spliterator spliterator():可分割的迭代器, 主要用于多线程并行迭代处理时使用
public Spliterator<E> spliterator() { return Spliterators.spliterator(this, Spliterator.DISTINCT | Spliterator.ORDERED); }