美文网首页
深度剖析HashSet源代码

深度剖析HashSet源代码

作者: 那只大象 | 来源:发表于2015-01-25 22:04 被阅读45次

HashSet 底层是用 HashMap 实现的

HashSet的构造方法

当使用 add 方法将对象添加到 Set 当中时, 实际上是将该对象作为底层所维护的 Map 对象的 key

HashSet的add()方法

而 value 则都是同一个 Object 对象(该对象我们用不上),因为 Map 的 value 对于 Set 来说没有意义,Set 仅仅需要 key 的信息就够了

一个假的值关联到底层所维护的Map对象上

remove() 和 clear() 实际上是调用了 Map 的 remove() 和 clear() 方法,因为底层就是维护 Map,所以 Set 任何操作都是通过 Map 来实现的

HashSet的remove()和clear()方法

同理,iterator()、size()、isEmpty()等方法也都是通过 Map 来实现

HashSet的iterator()、size()、isEmpty()方法

(完)

相关文章

网友评论

      本文标题:深度剖析HashSet源代码

      本文链接:https://www.haomeiwen.com/subject/uijkxttx.html