什么是hashCode()?

什么是hashCode()?

什么是hashCode()?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
吃吃吃鱼的猫 2019-06-03 10:14:27

同学你好,

这里为同学举个例子:

当我们向一个集合中添加多个对象,集合会首先调用这些对象的hashCode方法,计算出他们的hash码,这样就可以直接定位它所存储的位置。

若该处没有其他元素,则直接保存。 若该处已经有元素存在,就调用equals方法来匹配这两个元素是否相同, 

相同则不存,不同则散列到其他位置。

这样处理,当我们存入大量元素时就可以大大减少调用equals()方法的次数,极大地提高了效率。 

所以hashCode在上面扮演的角色为寻域(寻找某个对象在集合中区域位置)。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 关于hashCode,什么情况下需要重写
    2019-07-15 22:48:59
  • 同学你好,hashcode()是去取对象的hash值,一般在使用hashset去存值时,会默认调用这个方法,比如在hashSet的集合中,在向集合中添加元素时,默认就会调用hashCode和equals方法来去重,这时,hashCode方法就需要重写哦!如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
    2019-07-16 10:41:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师