当前位置: 首页 > 面试题库 >

hashCode在Java中有什么用?

史涵育
2023-03-14
问题内容

在Java中,obj.hashCode()返回一些值。该哈希码在编程中有什么用?


问题答案:

hashCode()用于铲装在Hash实现喜欢HashMap,HashTable,HashSet等。

从中接收的值hashCode()用作存储集合/映射元素的存储桶编号。该存储桶编号是集合/映射中元素的地址。

完成后contains(),它将获取元素的哈希码,然后查找哈希码指向的存储桶。如果在同一存储桶中找到了多个元素(多个对象可以具有相同的哈希码),则它将使用该equals()方法来评估这些对象是否相等,然后确定contains()是对还是假,或者确定元素是否可以是是否添加到集合中。



 类似资料:
  • 问题内容: 我只是想知道为什么在类的方法中使用质数?例如,当使用生成我的方法时,总是使用素数31: 问题答案: 因为您想要乘以的数量以及要插入的存储桶的数量具有正交素数分解。 假设要插入8个桶。如果您要用来乘以的数字是8的倍数,则插入的存储桶将仅由最低有效项(一个根本没有相乘)确定。类似的条目将发生冲突。不适用于哈希函数。 31是一个足够大的素数,因此不可能被它整除(实际上,现代的Java Has

  • 问题内容: 如果我重写一个类两种方法,它必须确保,如果那么也必须是真实的。 有人可以告诉我一个简单的示例,如果违反了该示例,将会引起问题吗?我认为这与您使用该类作为Hashmap的键类型有关吗? 问题答案: 当然: 与: 从技术上讲应该是正确的,因为在两种情况下m == 3。 通常,HashMap的工作方式如下:它具有可变数量的通常称为“存储桶”的数量。存储桶的数量可以随时间变化(随着条目的添加和

  • 问题内容: 我发现Java 的根类方法没有实现: 如果我有一个and an ,如何不使用就知道the 和value ?只需执行即可。 我尝试了两个对象,但令我大吃惊的是值是相同的:它们都是1。 问题答案: 是一种方法,意味着系统库在内部被调用。有关更多详细信息,请参见Java本机接口。

  • 问题内容: 改善这个问题 Java 中的示例应用程序是什么?请列出使用此示例的任何示例方案。谢谢! 问题答案: 这是对它的用途和缺点的很好的描述。本质上,只要需要执行快速的低级I / O,就可以使用它。如果您打算实现TCP / IP协议,或者如果您正在编写数据库(DBMS),则该类将派上用场。

  • 问题内容: 在java中为什么需要覆盖equals和hashcode方法?什么时候用到? 问题答案: 让我们尝试通过一个示例来理解它,如果我们不进行覆盖而覆盖并尝试使用。 假设我们有一个类像这样那样的两个对象是相等的,如果他们等于(和生成) 仅覆盖 如果仅覆盖被覆盖,则在你第一次调用时将散列到某个存储桶,而在调用时将散列到其他存储桶(因为它们具有不同的)。因此,尽管它们是相等的,但由于它们没有散列

  • (1)用来修饰一个引用  如果引用为基本数据类型,则该引用为常量,该值无法修改;  如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。  如果引用时类的成员变量,则必须当场赋值,否则编译会报错。 (2)用来修饰一个方法 当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。 (3)用来修饰类 当用f