JDK 源码 -- SET

HashSet 的 源码是由 HashMap 实现的,

map的 keySet()  方法 返回的 就是 set 集 。

构造方法 用的 HashMap的

public HashSet() {
map = new HashMap<E,Object>();
    }

public HashSet(int initialCapacity) {
map = new HashMap<E,Object>(initialCapacity);
    }

遍历元素 用的 map.keySet() 的 :

public Iterator<E> iterator() {
return map.keySet().iterator();
    }

是否 包含 某个值 用的  map.containsKey

 public boolean contains(Object o) {
return map.containsKey(o);
    }

添加 元素 用的 map的 :

public boolean add(E e) {
return map.put(e, PRESENT)==null;
    }

删除元素   用的 map的 :

public boolean remove(Object o) {
return map.remove(o)==PRESENT;
    }