“`” 如果你看过 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

发表回复 0

Your email address will not be published.