* @see Collection * @see Set * @see HashSet * @see TreeSet * @see Hashtable
类图结构(依赖)
类结构
public class LinkedHashSet<E>
extends HashSet<E>
implements Set<E>, Cloneable, java.io.Serializable {
}
//LinkedHashSet底层也是HashMap但是,最终的实现为其子类LinkedHashMap
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}
构造函数有3个方法
细细品源代码想,这里有个dummy参数,但是实际构造的时候又没有用,这里就是为了区别构造函数
public HashSet(int initialCapacity, float loadFactor) {
map = new HashMap<>(initialCapacity, loadFactor);
}
额外添加的一个参数,这个参数就是将方法区分开来。
最终的实现跟HashSet里面提供的方法一样。要分析LinkedHashSet如何保证元素的顺序,需要看源代码LinkedHashMap