许前刚 发表于 2012-3-25 10:47
因为set集合中不会存储相同的元素,而是否相同也是你判断的。为了方便,内部的规则是先判断hashcode,如 ...
但TreeSet集合保证元素唯一性的依据不是通过compareTo()方法吗,如果返回0,就表示相同啊
就比如封装一个有姓名有年龄的学生对象,compareTo方法如下:
public int compareTo(Student s)
{
int num=new Integer(this.age).compareTo(new Integer (s.age))
if(num==0)
{
return this.name.compareTo(s.name);
}
return num;
} |