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 中只能存放不重复的元素。
参考:
文档信息
- 本文作者:jiushun.cheng
- 本文链接:https://minipa.github.io/2016/06/28/java-data/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)