爪哇 中HashMap和HashSet之间的区别

常见的面试问题之一是“HashMap和HashSet有什么区别”..在我们真正看到差异之前,请先简要介绍两者。

爪哇 哈希图 :

哈希图

哈希图 实现了Map接口,该接口将键映射到值,它不同步且也不是线程安全的。不允许重复的键,并且允许空键以及值。有关更多详细信息,您还可以阅读 哈希图 如何在Java中工作.

哈希集

哈希集 实现了Set接口,该接口不允许重复值,它不同步并且也不是线程安全的。有关更多详细信息,您还可以阅读  哈希集 如何在Java中工作.

上面的employeeSet中将包含2个元素,因为Set不允许重复值。
加 方法用于将元素添加到HashSet中。如果返回true,则成功添加元素,但是如果返回false,则尝试插入重复值。

关于HashSet的一件主要事情是我们要在HashSet中添加的对象必须实现Hashcode()和equals()方法,以便我们可以检查重复值。如果要向HashSet中添加自定义对象,则必须重写()Hashcode( )和equals()方法,如果我们不重写,则object将采用默认实现,这可能是不希望的。

哈希图 与HashSet:

参数
哈希图
哈希集
接口
这是它们之间的核心区别。HashMap实现Map接口
哈希集 实现Set接口
数据存储方法
It stores data in a form of key->value pair.So it uses 放 (key,value) method for storing data
它使用add(value)方法存储数据
重复项
哈希图 允许重复值,但不允许重复键
哈希集 不允许重复值。
性能
它比哈希集更快,因为使用唯一键存储值
它比HashMap慢
哈希码计算
在哈希图中,使用键对象计算哈希码值
在这种情况下,哈希码是基于值对象计算的。对于两个值对象,哈希码可以相同,因此我们必须实现equals()方法。如果equals()方法返回false,则两个对象是不同的。

请通过   爪哇 核心面试题 了解更多面试问题。


导入联系人

您可能还喜欢:

相关文章

  • 10月02

    用Java中的值初始化ArrayList

    在本文中,我们将学习使用Java中的值初始化ArrayList。 数组列表 是Java中List接口的实现类。它用于存储元素。它基于动态增长的阵列概念。我们可以通过几种方式用值初始化ArrayList。让’我们看到了其中一些…]

  • 3月17日

    爪哇 8中的PriorityQueue

    在本文中,我们将介绍Java 8 PriorityQueue。当应该根据对象的优先级处理对象时,在这种情况下,我们使用PriorityQueue。这是一种特殊的队列(也称为非绑定队列),可以根据元素的自然顺序或基于[…]

  • 10月06日

    2d Arraylist 爪哇 示例

    在本文中,我们将看到如何在Java中创建2d Arraylist。创建2d Arraylist的最佳方法是在Java中创建列表的列表。 [crayon-601edc9e60e9b803757123 /]让’s创建一个程序来实现2d Arraylist 爪哇 。 [crayon-601edc9e60e9f343810865 /]输出:list3中的第二个元素:List3_Str2 list1中的第三个元素:List1_Str3 list2中的第一个元素[…]

  • 04 May

    哈希图 如何在Java中工作

    最常见的面试问题是<code>HashMap如何在Java中工作</code>, “HashMap的获取和放置方法如何在内部工作”。在这里,我试图通过一个简单的示例来解释内部功能。 [crayon-601edc9e71a9d194026798-i /]是Java中最常用的集合之一。与其深入研究,不如从理论上入手,这样您就可以[…]

  • 10月21日

    如何在Java中对HashSet进行排序

    在本文中,我们将看到如何在Java中对HashSet进行排序。 哈希集 是一个不按任何顺序存储元素的集合。您可能会遇到需要对HashSet进行排序的情况。排序HashSet的方法有很多种,我们将在这里看到两种方法。使用TreeSet可以使用[…]

  • 10月20日

    要设置的Java数组

    在本文中,我们将学习Java数组设置转换。有很多方法可以将数组转换为set。 1.使用Java 8’s Stream如果您使用的是Java 8,建议您使用此方法。 [crayon-601edc9e720ca619685543 /]输出[John,Martin,Mary] 2.使用HashSet构造函数()我们可以直接调用HashSet‘s的java构造函数set […]

Comments

  1. 哈希码计算

    在哈希图中,使用键对象计算哈希码值

    在这种情况下,哈希码是基于值对象计算的。对于两个值对象,哈希码可以相同,因此我们必须实现equals()方法。如果equals()方法返回false,则两个对象是不同的。

    这不是此处所写的正确区别。请更正。
    毫无疑问,这是非常有用的教程。每个主题都有详细描述。感谢您提供如此出色的教程。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。