“`” 如果你看过 HashSet 源码的话就应该知道:
HashSet 底层就是基于 HashMap 实现的。(HashSet 的源码非常非常少,因为除了 <code>clone()</code>、<code>writeObject()</code>、<code>readObject()</code>是 HashSet 自己不得不实现之外,其他方法都是直接调用 HashMap 中的方法。
<br>
<table class=""table table-bordered""><tbody><tr><td><b>HashMap</b><br></td><td><b>HashSet</b><br></td></tr><tr><td>实现了Map接口<br></td><td>实现Set接口<br></td></tr><tr><td>存储键值对<br></td><td>仅存储对象</p></td></tr><tr><td>调用 put() 向map中添加元素<br></td><td>调用 add()方法向Set中添加元素<br></td></tr><tr><td>HashMap使用键(Key)计算Hashcode<br></td><td>HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性<br></td></tr><tr><td><br></td><td><br></td></tr></tbody></table>
<p><br>
<pre><code> "“`
Was this helpful?
0 /
0