2020-10-30

对象数组排序,Comparable和Comparator的区别

区别1:使用的区别
一般用作比较器的的接口是comparable,用得最多的也是Comoarable。而Comparator是一个补救措施,一般用作满足程序开发后期的使用。就是为了满足程序的开闭原则

区别2:用法的区别
Comparable:将所要实现排序的类,实现Comparable接口,在类中实现compareTo方法。便可直接使用Arrays.sort()进行排序。
Comparator:需要自定义一个排序类实现Comparator接口。实现compare方法。
用法事例如下:
2020-10-30_第1张图片

2020-10-30_第2张图片

区别3:功能的区别
如果某个类想要按照多种方式排序。则必须使用Comparator接口,去定义多个排序类。

区别4:接口的区别
comparator是函数式接口,只有一个abstract方法,支持lamda表达式。而Comparable不是函数式接口
2020-10-30_第3张图片
2020-10-30_第4张图片

你可能感兴趣的:(笔记)