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

时间:2015-06-10 17:28:02

标签: java list hashcode

假设我有一个班级(同样的方法也存在):

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中具有相同的对象,那么如何构造哈希码以使两个对象看起来是相等的。

//汉克

1 个答案:

答案 0 :(得分:1)

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