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 }
本文出自 “QinGuan” 博客,请务必保留此出处http://11083953.blog.51cto.com/11073953/1745306
原文:http://11083953.blog.51cto.com/11073953/1745306