HashMap 和 HashSet区别?

发布于 2019-11-24 21:16:26
关注者
0
被浏览
1141
1 个回答
  • 面试哥
    面试哥 2019-11-24
    为面试而生,有面试问题,就找面试哥。

    如果你看过 `HashSet` 源码的话就应该知道:

    HashSet 底层就是基于 HashMap 实现的。(HashSet 的源码非常非常少,因为除了 `clone() `、`writeObject()`、`readObject()`是 HashSet 自己不得不实现之外,其他方法都是直接调用 HashMap 中的方法。


    HashMap
    HashSet
    实现了Map接口
    实现Set接口
    存储键值对

    仅存储对象

    调用 put() 向map中添加元素
    调用 add()方法向Set中添加元素
    HashMap使用键(Key)计算Hashcode
    HashSet使用成员对象来计算hashcode值,对于两个对象来说hashcode可能相同,所以equals()方法用来判断对象的相等性



面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看