java 集合中hashcode与equals方法

hashset中不能存储两个一致的对象,hashset根据hashcode来存储和删除对象
 * 当对象的hashcode发生改变时无法删除hashset中的对象  
 * 因此对象添加到hash集合中后,就不能修改与hashcode相关的属性,防止hashcode
 * 改变后,无法从集合中删除对象  造成内存溢出
 * 当对象存储在hashset集合中时,按照hashcode取模后的值进去分区存储,
 * 当两个对象的hashcode取模后一致时,通过equals方法判断两个是否相等,
 * 相等则判断两个对象一致,hashset中已经存储一个对象,第二个对象不能存储
 * 当hashcode取模后不一致时,则无论equals方法是否相等,两个对象在hashset不一致
 * hashset中按照对象的hashcode取模后的值划分存储区间存储对象
 * 一个区间不能存储两个相等的对象(equals方法相等)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值