码迷,mamicode.com
首页 > 其他好文 > 详细

总结,为什么要重写hashset的hashcode()和equals()?

时间:2018-12-19 22:37:42      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:哈希   对比   equal   不同的   item   one   class   比较   hash   

  1. 看了非常多博客,怕自己忘记了,通俗易懂的总结如下

     

    本人总结下:

    重写前,比较地址,hashcode方法如果相等不一定是同一个对象,所以再用equals再比内存地址

    重写后,比较值,重写hashCode方法后,值相同的不同对象返回的是同样的哈希码,但是值不同的不同对象可能也会有相同的哈希码,所以再用重写的equals方法比值

     

    重写前不符合人的思考(如果直接只用equals效率太低,hash比对比较快,最后使用equals方法以防万无一失)

总结,为什么要重写hashset的hashcode()和equals()?

标签:哈希   对比   equal   不同的   item   one   class   比较   hash   

原文地址:https://www.cnblogs.com/maplesu/p/10146492.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!