Java HashSet
程序员文章站
2022-05-13 23:50:59
...
HashSet继承自AbstractSet,实现了Set接口、Cloneable、Serializable接口。
构造函数
public HashSet() {
map = new HashMap<>();
}
public HashSet(Collection<? extends E> c) {
map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
addAll(c);
}
public HashSet(int initialCapacity, float loadFactor) {
map = new HashMap<>(initialCapacity, loadFactor);
}
public HashSet(int initialCapacity) {
map = new HashMap<>(initialCapacity);
}
HashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}
通过hashmap实现Set。
add方法
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
其中添加的e在map中是作为Key,所以没有重复。具体是根据HashMap的put方法
上一篇: layui点击图片预览