类 LinkedHashSet<E>
java.lang.Object ——java.util.AbstractCollection<E> ————java.util.AbstractSet<E> ——————java.util.HashSet<E> ————————java.util.LinkedHashSet<E>
类型参数: E - 由此 set 维护的元素的类型 所有已实现的接口: Serializable, Cloneable, Iterable<E>, Collection<E>, Set<E>
public class LinkedHashSet<E> extends HashSet<E> implements Set<E>, Cloneable, Serializable
具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。
此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。
此链接列表定义了迭代顺序,即按照将元素插入到 set 中的顺序(插入顺序)进行迭代。
LinkedHashSet * 底层是链表实现的,是set集合中唯一一个能保证怎么存就怎么取的集合对象 * 因为是HashSet的子类,所以也是保证元素唯一的,与HashSet的原理一样
import java.util.LinkedHashSet;
public class b {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedHashSet<String> lhs = new LinkedHashSet<>();
lhs.add("a");
lhs.add("a");
lhs.add("a");
lhs.add("a");
lhs.add("b");
lhs.add("c");
lhs.add("d");
System.out.println(lhs);
}
}