Comparable接口用于定义对象的自然顺序,是排序接口,假设现在存在“实现Comparable接口的类的对象的List列表(或数组)”,则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序。
而Comparator是比较器接口,若有类没有实现Comparable接口,则需定义一个比较器类去实现Comparator接口中的compare方法,然后通过该比较器对类进行排序
区别:Comparable总是只有一个,而且是直接在比较对象内进行实现,但是可以有多个comparator来定义对象的顺序