测试代码一个菜鸟的源码之路
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会在接下来讲解到。
网友评论