HashSet集合解读

1、Hashset是基于依赖HashMap实现的,把元素作为key,默认object作为value形成键值对。所有Hashset是非线程安全的,元素不可以重复。

public class HashSet<E>
    extends AbstractSet<E>
    implements Set<E>, Cloneable, java.io.Serializable
{
    static final long serialVersionUID = -5024744406713321676L;

    private static final Object PRESENT = new Object();

    private transient HashMap<E,Object> map;

2、hashset是基于依赖HashMap形成的存储数据结构。
    public HashSet() {

map = new HashMap<E,Object>();

    }

3、add,只把Key添加了,而value为默认的虚拟值。所有hashset不允许元素重复,因为元素作为key存储到hashmap中了。
    public boolean add(E e) {
return map.put(e,
PRESENT)==null;
    }
4、

猜你喜欢

转载自blog.csdn.net/dhfzhishi/article/details/80983748