JDK 源码 -- SET

来源:互联网 发布:淘宝大码女装胖mm秋装 编辑:程序博客网 时间:2024/06/18 04:04

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



0 0