HashSet底层都是hashMap的key操作

//就两个属性,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方法

猜你喜欢

转载自blog.csdn.net/weixin_42192477/article/details/82458032