1、comparable
- comparable 是一个接口,标识的含义是,实现这个接口的类可以支持排序操作
- 需要实现 compareTo 方法
public interface Comparable<T>
{
public int compareTo(T o);
}
2、Comparator
- 同样是一个接口,其表示的含义是,这个某个类本身并不支持排序操作(比如String,没有实现comparable接口,所以不支持排序),但是我们可以创建一个比较器,让他支持排序。
public interface Comparator<T>
{
int compare(T o1, T o2);
boolean equals(Object obj);
}
用法上
- comparable 一般用在类定义的时候,让某个类直接支持排序操作
- comparator 一般用在匿名内部类情况下,比如 Arrays.sort(,)的第二个参数,传入一个比较器