java八股概念补充

  1.  equals()和== 与 重写equals()为什么要重写hashcode
    1. equals()在不重写的情况下,equals()和== 相同,都是比较hashcode
    2. hash集合的新增一个对象的规则:为了效率,新插入对象的hashcode取模计算出一个地址集合下标地址,如果地址不存在对象直接插入,如果该地址存在对象,调用equals比较,相同覆盖,不相同进行散列(开放地址法,拉链法);
    上述逻辑就是满足java经典的判断【两个对象相同,hashcode必然相同】【hashcode相同,两个对象不一定相同】
    3.重写equals不重写hashcode会导致,两个equalsb比较相同的对象,但是hashcode不相同相同,hashcode不相同,永远无法覆盖对象的值,hash集合就用不了

     


      

posted on   飘来荡去evo  阅读(27)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示