1、HashSet底层就是利用HashMap来完成的
//简要摘录HashSet源码以便理解
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable
{
//重要属性
private transient HashMap<E,Object> map;
private static final Object PRESENT = new Object();
//空构造器
public HashSet() {
map = new HashMap<>();//HashSet底层就是利用HashMap来完成的
}
//添加数据
public boolean add(E e) {
return map.put(e, PRESENT)==null;//key是添加的数据,value是Object PRESENT
}
}