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()方法
(完)