HashSet-源码分析

一个菜鸟的源码之路

测试代码

1.new初始化

看new函数,发现hashset底层实际是hashmap,初始化一个hashset,实际就是初始化了一个hashmap


2.add添加元素

添加一个元素实际就是在hashmap中插入一个值


来看下PRESENT,每次插入的key就是你要保存的值,而value都是指向一个新建的对象,由于这个新建对象是private static final,所以PRESENT都是同一个。主要是利用hashmap的key唯一性来保证hashSet的唯一性

3.size求大小

通过调用hashmap的接口来实现


由此可见,hashSet原理就是hashMap。hashMap会在接下来讲解到。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容