HashSet 底层是用 HashMap 实现的
当使用 add 方法将对象添加到 Set 当中时, 实际上是将该对象作为底层所维护的 Map 对象的 key
而 value 则都是同一个 Object 对象(该对象我们用不上),因为 Map 的 value 对于 Set 来说没有意义,Set 仅仅需要 key 的信息就够了
remove() 和 clear() 实际上是调用了 Map 的 remove() 和 clear() 方法,因为底层就是维护 Map,所以 Set 任何操作都是通过 Map 来实现的
同理,iterator()、size()、isEmpty()等方法也都是通过 Map 来实现
(完)