8得票1回答
为什么HashMap有自己内部的hashCode()实现叫做hash(),它是怎样实现的?

根据这篇博客文章,HashMap在已经检索到的哈希码上重新调用其自己的hashCode()实现(称为hash())。 如果键不为空,则会在键对象上调用哈希函数,见上述方法中的第4行,即key.hashCode()。所以在key.hashCode()返回哈希值之后,第4行看起来像是 int ...

175得票20回答
有没有适用于任何对象类型的哈希码函数?

基本上,我正在尝试创建一个唯一对象的集合。我有一个绝妙的想法,就是使用JavaScript对象作为属性名称的对象。 set[obj] = true; 这个方法在某种程度上是可行的。对于字符串和数字,它能够很好地工作,但是对于其他对象来说,它们似乎都会“哈希”到相同的值并访问相同的属性。有...

53得票5回答
哈希表中的“bucket”是什么?

最近,在一次面试中,我被问到哈希映射表中的桶(bucket)是什么,它是数组还是数组列表或其他什么东西?我感到困惑。我知道哈希映射表是由数组支持的。那么,我能否说桶(bucket)是一个初始容量为16的数组,用于存储哈希码,并且链接列表具有其开始指针的数组?我知道哈希映射表内部工作原理,只是想...

10得票2回答
Hibernate 如何使用 equals() 和 hashCode() 方法?

如果您从数据库加载一个实体并对其进行修改,Hibernate是否会使用equals/hashCode来比较实体的当前状态和快照,以确定是否需要执行SQL更新? 如果它执行此类比较,我有另一个问题:如果equals返回true,Hibernate会认为实体没有更改,还是尝试使用默认比较(以确保)?

7得票7回答
没有hashCode()的equals()方法

如果我只需要比较对象,而且还没有计划将对象放入任何基于哈希的容器中,那么我是否只能实现equals()而不是hashCode()? 似乎所有的Java圣经都说这两个方法必须一起实现。 :( 我的担忧是: -如果我总是一起实现hashCode()和equals(),那么有很多代码实际上是没有...

7得票9回答
Java集合在这种情况下的使用

假设我们有一堆汽车对象。每辆汽车都有一些独特的属性,例如制造商、型号、年份等(这些可以用于创建不同的哈希码)。每辆汽车都有一个PurchaseOffer对象列表(一个PurchaseOffer对象包含定价/零售商信息)。我们从几个不同的来源接收到汽车列表,每辆汽车都有一个单独的Purchase...

4得票3回答
如果覆盖哈希码的函数只返回一个常数,那么HashMap键如何表现?

我有一个有关Java Hashmap的小问题。如果我覆盖hashCode方法,使其如下: @Override public int hashCode(){ return 9; } 这将导致所有的 HashMap 键具有相同的索引。它们是否会被放置在地图中的链表结构中,还是地图只包含替...

5得票2回答
在equals()中调用hashCode()方法

我已经为我的类定义了hashCode(),其中包含了很长的属性列表。 按照契约,我还需要实现equals()方法,但是是否可能只需在里面比较hashCode()来避免编写大量额外的代码?这样做是否存在任何危险呢? 例如: @Override public int hashCode() ...

137得票14回答
如何创建一个具有两个键(Key-Pair, Value)的HashMap?

我有一个整数的二维数组。我想将它们放入HashMap中。但是我想要根据数组索引从HashMap中访问元素。例如: 对于A [2] [5],map.get(2,5),返回与该键相关联的值。但是如何创建带有一对键的HashMap?或者说,如何用多个键创建 Map<((key1, key2,...

4得票5回答
根据多个值创建唯一的hashCode

我正试图实现一种基于六个不同值的独特哈希码。我的类具有以下属性: private int id_place; private String algorithm; private Date mission_date; private int mission_hour; private int ...