美文网首页
Java集合·12·HashSet详解

Java集合·12·HashSet详解

作者: Lynn_R01612x2 | 来源:发表于2018-03-26 23:52 被阅读0次

一、概述

是一个不含重复元素、无序的集合类。作用为提供无序的Set集合。

继承AbstractSet,实现了Set、Cloneable、Serializable接口。

Set

Set是不含重复元素的集合类。

继承Collection,未添加API。

AbstractSet

继承自AbstractCollection,实现Set接口。

实现了equal、hashcode、remove函数接口,减少Set实现类的重复编码。

子类仅需实现iterator()和size()方法,add()方法默认不支持

二、特点

  • 不含重复元素
  • 无序
  • 非线程安全
  • iterator是fail-fast的

三、数据结构

依赖HashMap,使用HashMap<E, HashSet<E>>存储数据。

transient HashMap<E, HashSet<E>> backingMap;

四、实现要点

1. 基本方法

添加

    @Override
    public boolean add(E object) {
        return backingMap.put(object, this) == null;
    }

删除

仅支持通过Iterator删除

2. 访问方法

提供一种访问方式:Iterator

Iterator(exquisitely)

返回HashMap的keySet的Iterator

@Override
public Iterator<E> iterator() {
    return backingMap.keySet().iterator();
}

相关文章

  • HashMap中为什么数组的长度为2的幂次方

    Java中HashCode算法详解 Java中的集合,比如HashMap/HashSet/HashTable在实现...

  • Java集合·12·HashSet详解

    一、概述 是一个不含重复元素、无序的集合类。作用为提供无序的Set集合。 继承AbstractSet,实现了Set...

  • HashSet详解

    引用 java中HashSet详解 Java 编程下 HashSet 存入相同元素的原理 1.向HashSet 集...

  • Java集合

    目录: Java集合APICollection 体系Set 集合HashSet 的存储机制:HashSet 还有一...

  • HashSet

    Java集合框架分析-HashSet

  • HashSet的用法

    java集合——HashSet的用法 一、HashSet的构造 二、HashSet添加元素 三、遍历HashSet...

  • Java集合系列-HashSet

    原创文章,转载请标注出处:《Java集合系列-HashSet》 一、概述 HashSet是基于哈希实现的set集合...

  • java基础系列06--集合(2)

    JAVA集合二 Set集合 特点:无索引,不可重复,无序,存取不一致 HashSet类 HashSet原理: 我们...

  • 详解Java集合中的HashSet

    简述 在写HashMap的时候提到过Set是基于Map实现的,HashSet基于HashMap实现,将HashSe...

  • Java—Set集合详解(HashSet/LinkedHashS

    Set集合介绍 Set集合的概念   Set集合类似于一个容器,程序把很多对象保存到Set集合中,Set集合对添加...

网友评论

      本文标题:Java集合·12·HashSet详解

      本文链接:https://www.haomeiwen.com/subject/mvgdcftx.html