特点
HastSet中保留了一个HashMap,本质就是HashMap,只不过hashMap的value是同一个值,通过hashMap添加数据的时候key一致会替换特性来保证了 HashSet的特性数据不会重复。
构造方法 内部定义了一个HashMap
private transient HashMap<E,Object> map;
private static final Object PRESENT = new Object();
public HashSet() {
map = new HashMap<>();
}
add()方法, 这里的value都是同一个值
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}