Java 集合 - Set 實現類

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>());
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章