Comparable相当于“内部比较器”,而Comparator相当于“外部比较器”。
Comparable 简介
Comparable 是排序接口。
若一个类实现了Comparable接口,就意味着“该类支持排序”。此外,“实现Comparable接口的类的对象”可以用作“有序映射(如TreeMap)”中的键或“有序集合(TreeSet)”中的元素,而不需要指定比较器。
接口中通过x.compareTo(y)
来比较x和y的大小。若返回负数,意味着x比y小;返回零,意味着x等于y;返回正数,意味着x大于y。
Comparator 简介
int compare(T o1, T o2)
和上面的x.compareTo(y)
类似,定义排序规则后返回正数,零和负数分别代表大于,等于和小于。