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

整数的哈希码

葛成双
2023-03-14
问题内容

基本类型(例如int)的哈希码是什么?

例如,假设num是一个整数。

int hasCode = 0;

if (num != 0) {
  hasCode = hasCode + num.hashCode();
}

问题答案:

对于hashCode一个int最自然的选择是使用int本身。一个更好的问题是,用什么的hashCodelong,因为它不适合的int尺度的哈希码。您的最佳解决方案以及所有hashCode相关问题将是有效的Java。



 类似资料:
  • 问题内容: 我不知道这是否可行,但我正在尝试制作一个Hashtable,其中Interval是一个具有2个整数/长值,一个起点和一个终点的类,我想做这样的事情: 因此,基本上我想要的是Interval对象中一系列值之间的键提供对应的WhateverObject。我知道我必须重写interval对象中的equals()和hashcode(),主要问题是我想以某种方式使100到200之间的所有值(在此

  • 问题内容: 我正在尝试创建一个哈希表,如下所示: 但是我在int和byte上都收到一个错误,说“此令牌后应有尺寸”。 如果我使用类似: - 一切都很好。有人可以解释为什么吗? 谢谢。 问题答案: 在Java的核心集合类中,您只能存储引用类型(扩展java.lang.Object的对象)。您 不能 存储诸如和的基元。请注意,like数组不是原始数组,而是引用类型。 如@Giuseppe所述,您可以这

  • 预期的输出是值的排序数组:。

  • 所以,我有一个带有数组的哈希,就像这样: 我想将它们合并到一个哈希数组中,组合相应的元素。 结果应该是这样的: 知道如何有效地做到这一点吗? 请注意,真实世界的使用场景可能包含数量可变的散列键。

  • 我用java实现了一个类来模拟有理数,它有两个整数来模拟分子和分母。我需要覆盖Object的hashcode方法,所以相同的数字有相同的hash代码。 我已经这样定义了equals()方法: 关于此: 返回分子*分母是个好方法吗? 等价的有理数(如1/4和2/8)是否应该返回相同的哈希码?

  • 考虑@data是一个带有日期、类、名称和等级字段的Active记录数组。假设我想以两个哈希结束,一个是每个名称的所有日期的唯一集合;另一个按类、日期和名称细分以显示等级。 > 导致错误: nil:NilClass的未定义方法“[]=”