Super赛亚金 level
获赞
16
粉丝
1
关注
8
看过 TA
49
门头沟学院
2023
大数据开发工程师
IP属地:江苏
暂未填写个人简介
私信
关注
,这个要不要考虑重没重写的情况,找了好几个八股文答案不一致,面试时回答错了-_-||,求正确答案
levi_wang:可以从这个角度理解:在无重合集合中插入一条数据的时候,会先判断hashCode是否相等,如果hashCode不相等,那么可以直接认为该集合中没有出现过这个数据;如果hashCode相等,会接着判断equals是否相等,因为会有哈希冲突,所以不能直接根据hashCode相等判断两个对象相等,如果equals也相等,才会认为集合中已经出现过该数据,。使用hashCode的原因是可以快速过滤掉不相等的,因为如果hashCode不相等那么equals也必然不相等。这也是为什么重写了equals就一定也要重写hashCode的原因,因为如果不重写的话,会出现equals相同但是hashCode不想等的情况,这就乱套了。从底层来说的话,hashCode是把对象的地址转换成数字,equals不重写的话比较的其实就是地址,结合哈希冲突就好理解了。
0 点赞 评论 收藏
分享
让写的话,难度如何,如果写了SQL,在让写算法的难度如何? 请指教,还没面过试,有些许的好奇😂
牛客198698999号:同问?我也是暑假要实习了,还没有面试过! 算法多吗?难不难呀?我基本只会一点点简单的算法,什么排序,查找这些,
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务