xiaoxiaow 2011-04-25 14:38
浏览 184
已采纳

关于HashSet的一些疑问

最近使用HashSet时,才知道对于HashSet的类我一点也不了解。
HashSet 是不可以有重复元素的,那调用add()方法时,它的内部是怎么判断这个对象是否在该HashSet中存在的呢?
比如:

        HashSet<Person> set = new HashSet<Person>();
        Person p1 = new Person("tom", 12);
        Person p2 = new Person("tom", 12);
        set.add(p1);
        set.add(p2);
      

请大家指点!

  • 写回答

4条回答 默认 最新

  • ethenjean 2011-04-25 16:27
    关注

    如果要保证set里面不出现重复元素,必须要按照自己的需求定义两个对象相等的规则,即在Person类中覆盖掉Object中的equal和hashcode方法。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?