为什么使用treeset存入对象时它的remove方法会失效,首先看treeset的特点,它是一个有序的集合,但是它的有序是需要我们自己写排序的,在没有排序之前使用remove方法就返回的是无效的东西,排序之后才可以正常使用remove,所以treeset集合的remove要在自己写完排序之后才可以正常使用。
要自己排序首先需要在创建对象的那一个类里面实现Comparable接口。重写compareTo方法。
//重写的compareTo方法
@Override
public int compareTo(Student o) {
//使用age属性排的升序,如果age相等则用name属性排序
if(o.age>this.age){
return -1;
}else if(o.age<this.age){
return 1;
}else {
return o.name.compareTo(this.name);
}
}