hashSet是基于hashMap的,进入hashMap类的put方法,后面具体实现就是HashMap。在这个特殊的hashMap中,使用hasSet的每个值作为key,所有key对应同一个Object对象作为value,所以可以说,HashSet是HashMap的一种特殊形式。
观察如下代码:
hashSet是基于hashMap的
add方法
进入hashMap类的put方法,后面的参考前文即可
下一步完成插入
下一步
由于HashSet其实只要key没用value,那么在hashMap中的Value是什么呢?
所以看出3次都是同一个Object,这个是预定义的
addall方法