哎,其实不知道写不写这篇博客好,因为真的没啥好写的,不过后来想了下,还是有始有终吧,之前HashMap,HashSet,LinkedHashMap都写了,也不差这一篇。
LinkedHashSet的定义
public class LinkedHashSet<E>
extends HashSet<E>
implements Set<E>, Cloneable, java.io.Serializable
继承了HashSet,同时实现了Set接口,追根到底,其底层的实现为LinkedHashMap
LinkedHashSet的构造方法
public LinkedHashSet() {
super(16, .75f, true);
}
这个方法调用了HashSet 的 super(initialCapacity, loadFactor, true)
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}
其实dummy 这个参数只是为了区分 HashSet 别的构造方法
增加元素
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
删除元素
public boolean remove(Object o) {
return map.remove(o)==PRESENT;
}
查找元素
public boolean contains(Object o) {
return map.containsKey(o);
}