64得票11回答
Java中的hashCode()方法如何计算

hashCode()方法在Java中返回什么值? 我了解到它是对象的内存引用...new Integer(1)的哈希值是1;String("a")的哈希值是97。 我有些困惑:这是ASCII码还是其他类型的值?

62得票9回答
理解HashMap中equals和hashCode的工作原理

我有这段测试代码:import java.util.*; class MapEQ { public static void main(String[] args) { Map<ToDos, String> m = new HashMap<ToDos, Strin...

62得票9回答
包含泛型数组的对象的GetHashCode重载

我有一个类,包含以下两个属性: public int Id { get; private set; } public T[] Values { get; private set; } 我已经将其制作成IEquatable<T>并覆盖了object.Equals,代...

62得票4回答
Scala中Case类中的hashCode

我看到过Scala的case class构造会自动生成匹配的equals和hashCode实现。那么生成的代码具体是什么样子的呢?

62得票3回答
如何在.NET (C#)中为字符串创建一个安全存储在数据库中的HashCode?

引用自Eric Lippert的《GetHashCode的指南和规则》: 规则:使用GetHashCode的用户不能依赖其随时间或跨应用程序域保持稳定 假设您有一个客户对象,其中包含诸如名称、地址等字段。如果您在两个不同的进程中创建具有完全相同数据的两个此类对象,则它们不必返回相同的哈希码...

62得票8回答
在Java中是否可以实现类似于比较器的东西,用于实现自定义的equals()和hashCode()方法?

我有一个对象数组,并且想要将它与另一个对象数组连接起来,但是不包括id相同的对象。这些对象在系统中的许多地方都被使用,并且没有实现哈希码或等于方法。因此,我不想实现 hashCode()和equals(),因为我担心会破坏系统中某个我不知道的地方使用了这些对象而导致问题。 我想把所有这些对象...

62得票7回答
Java如何在HashMap或HashTable中排序项目?

我在想当我们向Map(HashMap或Hashtable)添加条目时,Java是如何对它们进行排序的。键是按照哈希码、内存引用还是分配顺序排序的呢? 这是因为我注意到Map中相同的键值对并不总是以相同的顺序排列。

58得票4回答
Java数组HashCode实现

有点奇怪。一位同事问我在Java中如何实现myArray.hashCode(),我认为我知道,但之后我跑了几个测试。请查看下面的代码。我注意到的奇怪之处是,在我写第一个sys out时,结果不同。请注意,它几乎像是报告了一个内存地址,修改类移动了地址或其他什么东西。只是想分享一下。int[] ...

56得票4回答
为什么在Java的hashCode()方法中经常使用异或运算符,而其他位运算符很少被使用?

我经常看到类似以下代码:int hashCode(){ return a^b; } 为什么要用异或运算(XOR)?

56得票6回答
hashCode()和identityHashCode()在后台是如何工作的?

Object.hashCode()和System.identityHashCode()在后台是如何工作的?identityHashCode()会返回对象的引用吗?hashCode()是依赖于对象的内容还是地址? hashCode()和identityHashCode()之间有什么区别?