Comparable
Comparable定义在java.lang包里,意味着可以被比较的能力,因此某个类想要可以被排序,被比较大小,需要实现这个接口.
public int compareTo(T o...);
接口里只定义了这一个方法,代表了:传入一个对象,将对象和元素自身进行比较,如果元素自身大,返回1,相等返回0,元素自身小于参数则返回-1....) o).id;
}
}
代码中定义了Student类,以及实现了Comparable,即只比较他们的id的大小即可....他们的区别及联系
那么问题来了,都有Comparable了,还要Comparator干什么?
设想一个场景,我们定义了一个学生类,如上面代码所示,那么学生可以按着id的大小进行排序....总结
他们的区别是角色不同,想要实现的目的也不同.一个是内部自然排序,只能有一种定义.一个是外部的比较器,可以定义多个不同的比较器,按需取用.