public static void main(String[] args) {
Stu stu1 = new Stu();
Stu stu2 = new Stu();
Set<Stu> set = new TreeSet<>();
set.add(stu1);
set.add(stu2);
System.out.println(set);
}
原因是TreeSet在比较对象的时候需要比较器,就是你让我对这几个对象进行排序,总要给我一些规则把,怎么给他规则,一种是比较类实现Comparable接口,重写compareTo方法`
public class Stu implements Comparable<Stu>{
int a ;
@Override
public int compareTo(Stu o) {
if (this.a>o.a)
return 1;
if (this.a<o.a)
return -1;
if (this.a==o.a)
return 0;
return 0;
}
@Override
public String toString() {
return "Stu{" +
"a=" + a +
'}';
}
}
还有一种方式是写一个比较类
public class F implements Comparator<Stu> {
@Override
public int compare(Stu o1, Stu o2) {
if (o1.a>o2.a)
return 1;
if (o1.a<o2.a)
return -1;
if (o1.a==o2.a)
return 0;
return 0;
}
}