标签:深度剖析 add key 分享 没有 image 对象 剖析 set
HashSet源码分析:
先来看一下它的构造方法:
呃~~居然它的底层是用HashMap来实现的,颠覆三观,那它究竟是如何来用的呢?继续来往下跟:
对于HashSet而言是没有key->value的结构的,那它是怎么跟HashMap关联到一块的呢?接着得查看add方法了:
也就是将我们往HashSet添加的元素是被用作HashMap的key,而HashMap的Value是一个常量,看一下它长啥样:
而这个字段也说明了,它是一个"Dummy value",也就是假的值,因为对于HashSet来说,只需要用到HashMap的key就行了,对于value不关心。
接着再来看一下删除元素的实现:
当然都是借助于HashMap来删除喽~
那它的其它方法其上差不多了,既然底层是由HashMap来实现的,那接下来就得探究一下HashMap的底层原理喽。
HashMap源码分析:
先来查看一下空的构造方法:
总结:
标签:深度剖析 add key 分享 没有 image 对象 剖析 set
原文地址:https://www.cnblogs.com/webor2006/p/8995256.html