java - 如何从具有两个包含相同类型对象的列表的对象生成哈希码

标签 java list hashcode

假设我有一个类(也存在 equal 方法):

public class SomeClassA {
    private int a;
    private int b;

        @Override
 public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + a;
    result = prime * result + b;
    return result;
 }
}

还有另一个类:

public class SomeClassB {
  List<SomeClassA> firstList;
  List<SomeClassA> secondList;

如何构造哈希码,以便两个对象在firstList 中具有相同的对象并且在secondList 中具有相同的对象时被视为相等。

//汉克

最佳答案

 public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + firstList.hashCode();
    result = prime * result + secondList.hashCode();
    return result;
 }

关于java - 如何从具有两个包含相同类型对象的列表的对象生成哈希码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30763300/

相关文章:

java - 具有可变行高 : Working on Linux, 但不是 Mac/Windows 的 SWT 表

java - Openshift 上带有 Strimzi 运算符的 Apache Kafka - 无法连接

c# - IList<KeyValuePair> vs IDictionary 在 WCF 中充当 [DataMember]

Python:创建以列表索引号为键并以列表元素为值的字典?

html - 如何让我的列表水平

hive - Hive的内置HASH()函数使用哪种哈希算法

java - 存储一组字符串的最佳方式是什么

java - 将逗号分隔的值放入集合对象中

C# 哈希码返回值

java - HashSet 添加了两个对象,它们为 equals() 返回 true 并且在 Java 中具有相同的哈希码