关注
可以从这个角度理解:在无重合集合中插入一条数据的时候,会先判断hashCode是否相等,如果hashCode不相等,那么可以直接认为该集合中没有出现过这个数据;如果hashCode相等,会接着判断equals是否相等,因为会有哈希冲突,所以不能直接根据hashCode相等判断两个对象相等,如果equals也相等,才会认为集合中已经出现过该数据,。使用hashCode的原因是可以快速过滤掉不相等的,因为如果hashCode不相等那么equals也必然不相等。这也是为什么重写了equals就一定也要重写hashCode的原因,因为如果不重写的话,会出现equals相同但是hashCode不想等的情况,这就乱套了。从底层来说的话,hashCode是把对象的地址转换成数字,equals不重写的话比较的其实就是地址,结合哈希冲突就好理解了。
查看原帖
4 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 大疆今年的机械笔试难吗? #
34460次浏览 405人参与
# 影石Insta360求职进展汇总 #
105904次浏览 936人参与
# 文科生还参加今年的春招吗 #
1704次浏览 20人参与
# 大疆的机械笔试比去年难吗 #
63326次浏览 575人参与
# 选择和努力,哪个更重要? #
36456次浏览 394人参与
# 24届市场营销薪资爆料 #
9005次浏览 62人参与
# 一人推荐一个值得去的通信/硬件公司 #
160246次浏览 1729人参与
# 如果公司降薪,你会跳槽吗? #
42569次浏览 321人参与
# 提前批的机械人,你们都有面试了吗 #
86148次浏览 929人参与
# 产品实习,你更倾向大公司or小公司 #
128706次浏览 1710人参与
# 产品薪资爆料 #
96696次浏览 814人参与
# 春招启动,你开始投递了吗? #
45108次浏览 434人参与
# 秋招前后对offer的期望对比 #
221613次浏览 1648人参与
# 大学四年该怎么过,才不算浪费时间? #
3314次浏览 32人参与
# 华为工作体验 #
149640次浏览 1052人参与
# 职场上哪些事情令人讨厌 #
12708次浏览 57人参与
# 机械人,你的第一份感谢信是谁给的 #
19863次浏览 257人参与
# 和牛牛一起刷真题 #
104922次浏览 2067人参与
# 你觉得机械有必要实习吗 #
33535次浏览 318人参与
# 2022毕业的你对23届的寄语 #
35059次浏览 533人参与