Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。
HashSet
不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能一个。
构造方法
private transient HashMap<E,Object> map;
public HashSet() {
map = new HashMap<>();
}
添加方法
private static final Object PRESENT = new Object();
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
LinkedHashSet
继承 HashSet 具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。
构造方法
private transient HashMap<E,Object> map;
LinkedHashSet(int initialCapacity, float loadFactor, boolean dummy) {
map = new LinkedHashMap<>(initialCapacity, loadFactor);
}
TreeSet
该类实现了 Set 接口,可以实现排序等功能。
构造方法
private transient NavigableMap<E,Object> m;
public TreeSet() {
this(new TreeMap<E,Object>());
}
标签:map,Set,Java,HashMap,构造方法,private,集合,new
From: https://www.cnblogs.com/feiqiangsheng/p/17034398.html