在学习JAVA中的集合类中,碰到了HashSet这个类的用法,但对于hashcode()和equals()方法不怎么理解,希望大家帮我解决一下好吗?急要.....

解决方案 »

  1.   

    希望对你有帮助:http://blog.csdn.net/michaellufhl/archive/2010/08/23/5833188.aspx
      

  2.   

    我觉得 主要在 集合中使用到吧
    集合中的 contains  containskey方法 会用到这个方法
    如果一个对象没有实现这两个方法,在使用集合的时候可能会出问题
      

  3.   

    一般情况下·equals()方法需要重写··在重写equals()方法的同时一起重写hashcode()
      

  4.   

    你这个是hibernate使用的时候吧,平时用不需要。
      

  5.   

    按我的理解来说吧,
    hashcode里面的规则计算出的返回值
    是用来判断equals的true/false的基础。
    hashset里边好像是用来这两个方法判断元素是否重复的
    你可以参考下具体源码。
      

  6.   

    hashcode是初排用的,算法一般应粗放,要效率高。equals则要细致。
    主要一点,
    hashcode算出结果不一样的两个对象,equals一定要返回false,否则会出问题。Google类库Guava在这方面有辅助简化作用,不妨看看。