您当前的位置: 首页 > 

恐龙弟旺仔

暂无认证

  • 1浏览

    0关注

    282博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JDK源码解析之HashSet

恐龙弟旺仔 发布时间:2019-01-10 17:32:54 ,浏览量:1

前言:

    集合类型三巨头:List、Set、Map

    在之前的博客中已经讲了关于List的实现类、Map的实现类,现在还有Set相关的没有介绍过了。

    为什么先介绍Map后介绍Set呢?按理说Set应该比Map的实现更简单点啊?

    

    当然,这是笔者的一点小心思,看过源码的都知道,Set是基于Map来实现的,所以想了解Set,必须先了解Map    

    对Map不太了解的同学可以先看一下笔者另一篇博客:https://blog.csdn.net/qq_26323323/article/details/86219905 

 

1.HashSet结构分析
public class HashSet
    extends AbstractSet
    implements Set, Cloneable, java.io.Serializable
{

    // 一个map作为其成员变量
    private transient HashMap map; 
    
    // 后面会用到,每一个HashSet唯一的PRESENT
    private static final Object PRESENT = new Object();
    
2.HashSet构造方法
// 1.空参构造
public HashSet() {
    // 初始化map
    map = new HashMap();
}

// 2.使用一个集合进行初始化加载
public HashSet(Collection            
关注
打赏
1655041699
查看更多评论
0.3864s