我们要明确这是我们在使用treeset时经常引发的错误,因为不知道排序标准是什么,第一次Put时,因为treeset为空,不需要比较,第二次put时就需要比较了,这要求我们实现这个比较的方法,也就是我们告诉treeset用什么来比较。
例如对时间段进行排序,时间段包括开始时间和结束时间,我们可以以开始时间为标准,令treeset按照这个来排序,这要求我们重写compareTo函数,因为图片上传不了,所以上传手撕的代码:
@Override
public int compareTo(Interval<L> o) {
if (this.start > o.start) {
return 1;
} else if (this.start < o.start){
return -1;
} else {
return 0;
}
}
要注意这是要在具体类中进行实现重写。