重新计算对象的哈希码

  • 实例说明

  Java中的对象是保存在堆中的,为了提高查找的速度而使用了散列查找。散列查找的基本思想是定义一个键来映射对象所在的内存中地址。

  • 关键技术

  重写hashCode()方法。Object类在实现该方法时,返回值是对像的存储地址。这与equals()方法的实现相关。因此当重写了equals()方法后,一定要重写hashCode()方法。

  eg:

public int hashCode(){
  return 7*name.hashCode() + 11*new Integer(age).hashCode + ...;  
}

  重写equals()方法时,使用到的属性也要在hashCode()方法中使用。计算新的哈希码有很多不同的算法。 

posted @ 2019-04-08 16:23  Joy丨windy  阅读(134)  评论(0编辑  收藏  举报