美文网首页
深度剖析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