HashSet集合

hashset集合的繼承體系:

java.lang.Object
      java.util.AbstractCollection<E>      
           java.util.AbstractSet<E>          
               java.util.HashSet<E>

public class HashSet<E>

    extends AbstractSet<E>

        implements Set<E>, Cloneable, java.io.Serializable

成員變量

private transient HashMap<E,Object> map;//由一個hashMap集合實現存儲HashSet中的元素
private static final Object PRESENT = new Object();//集合中key-value的value恆定爲PREENT

構造函數

public HashSet() {
  map = new HashMap<>();   //無參構造函數,實例化了一個hashMap集合
}
public HashSet(int initialCapacity, float loadFactor) {
    map = new HashMap<>(initialCapacity, loadFactor); //根據初始容量和加載因子初始hashMap
}

向集合中添加元素的方法

  public boolean add(E e) {
        return map.put(e, PRESENT)==null;//使用hashMap的put方法,value恆定爲PRESENT
    }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章