public HashSet() { map = new HashMap<E,Object>(); }也就是说,hashSet的内部是用HashMap实现的。
public boolean add(E o) { return map.put(o, PRESENT)==null; }因为Map的key是不能重复的,所以说Set内的元素是没有重复的, PRESENT只是一个Object类型的常量。
public Iterator<E> iterator() { return map.keySet().iterator(); }contains(Object):
public boolean contains(Object o) { return map.containsKey(o); }等等。