Java 容器类 五、Set 集合

2016/06/28 Java 容器类 共 484 字,约 2 分钟
MiniPa

HashSet

1.不允许存储重复元素的集合

2.成员变量
map : 用于存放最终数据的
PRESENT : 是所有写入 map 的 value 值

private transient HashMap<E,Object> map;

// Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object();

3.构造函数

public HashSet() {
    map = new HashMap<>();
}

public HashSet(int initialCapacity, float loadFactor) {
    map = new HashMap<>(initialCapacity, loadFactor);
}    

4.add()
将存放的对象当做了 HashMap 的 ,value 都是相同的 PRESENT,
由于 HashMap 的 key 是不能重复的,所以每当有重复的值写入到 HashSet 时,value 会被覆盖,
但 key 不会受到影响,这样就保证了 HashSet 中只能存放不重复的元素。

参考:

文档信息

Search

    Table of Contents