//就两个属性,object用来当做map的value
private transient HashMap<E,Object> map;
private static final Object PRESENT = new Object();
//无参构造
public HashSet() {
map = new HashMap<>();
}
//有参构造,初始化map大小
public HashSet(int initialCapacity) {
map = new HashMap<>(initialCapacity);
}
public Iterator<E> iterator() {return map.keySet().iterator();}
public int size() {
return map.size();
}
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
public boolean contains(Object o) {
return map.containsKey(o);
}
上面常用方法都是map在操作,HashSet没有get方法