【♨Java基础】说说hashCode() 和 equals() 之间的关系?

equals() 的作用是用来判断两个对象是否相等。

hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。

在HashSet, Hashtable, HashMap等等这些本质是散列表的数据结构中:

  • 同一个对象(没有发生过修改)无论何时调用hashCode()得到的返回值必须一样。
  • hashCode()的返回值相等的对象不一定相等,通过hashCode()和equals()必须能唯一确定一个对象。
  • 一旦重写了equals()函数(重写equals的时候还要注意要满足自反性、对称性、传递性、一致性),就必须重写hashCode()函数。

 

posted @   残城碎梦  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-03-16 组合模式
2022-03-16 门面模式
2022-03-16 适配器模式
2022-03-16 装饰器模式
2022-03-16 代理模式
2022-03-16 原型模式
2022-03-16 建造者模式
点击右上角即可分享
微信分享提示