对象数组排序,Comparable和Comparator的区别
区别1:使用的区别
一般用作比较器的的接口是comparable,用得最多的也是Comoarable。而Comparator是一个补救措施,一般用作满足程序开发后期的使用。就是为了满足程序的开闭原则
区别2:用法的区别
Comparable:将所要实现排序的类,实现Comparable接口,在类中实现compareTo方法。便可直接使用Arrays.sort()进行排序。
Comparator:需要自定义一个排序类实现Comparator接口。实现compare方法。
用法事例如下:
区别3:功能的区别
如果某个类想要按照多种方式排序。则必须使用Comparator接口,去定义多个排序类。
区别4:接口的区别
comparator是函数式接口,只有一个abstract方法,支持lamda表达式。而Comparable不是函数式接口