Set其实就相当于一个Map,在你创建一个Set对象时,其实就是创建了一个Map对象
public HashSet() {
map = new HashMap<>();
}
底层有一个Object的对象
private static final Object PRESENT = new Object();
当Set中添加元素的时候,就把元素当作Map中的key处理,同时所有的value
都是刚刚的Object对象
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}