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()方法(完)
网友评论