在使用set集合时,set中存储的数据为对象,如果对象为自定义对象,则使用TreeSet()类时,系统执行排序时,将会不知道按照你的那个字段进行排序
所以需要重写compareTo()函数。
class student implements Comparable<Object>{//继承Comparable,定义方法
public String name;
public int age;
public int compareTo(Object o){//接受参数值,为一个对象
student stu=(student)o;//将接受的对象进行显式转换
int result = age>stu.age?1:(age==stu.age?0:-1);//判断指定数值与传参的对象哪一个大
//如果传参对象值小,返回1,与传参对象的值相同则返回0,传参对象的数值更大,则返回-1
return result;
}
}
继承的接口,并重写方法,需要在自己定义的类体中写。