Comparable和Comparator的区别
comparable:若一个要实现了comparable接口,表示这个类是“支持排序的”,不需要指定比较器。在接口中通过 x.compareTo(y)来比较x和y的大小,返回负数,x小于y;返回正数,x大于y; 内部比较器,一个类如果想要使用 Collections.sort(list) 方法进行排序,则需要实现该接口。
Comparator:比较器接口,若一个类是不支持排序的,即没有实现comparable,就可以借助比较器来实现比较。它是一个外部比较器。外部比较器用于对那些没有实现Comparable接口或者对已经实现的Comparable中的排序规则不满意,可以自定义排序,更加灵活。(策略模式)