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;
    }



猜你喜欢

转载自blog.csdn.net/tuyf_hs/article/details/48373777