HashSet-源码分析

2018-03-19  本文已影响0人  空城EN

一个菜鸟的源码之路

测试代码

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会在接下来讲解到。

上一篇 下一篇

猜你喜欢

热点阅读