一、常用接口 Comparable
1、引入
java.util.Comparator:定制比较,定制顺序
java.lang.Comparable:自然比较,自然顺序
只要涉及到排序,Comparator与Comparable这两个接口必用其中一个
定制比较是自然(也叫默认比较)比较的补充,所以Comparable一定是你用得最多的一种排序规则
java.lang包是java最核心的类库了
java.util.Comparator:定制比较,定制顺序
java.lang.Comparable:自然比较,自然顺序
2、用法
下面,我们要比较两个学生怎么做呢?
3、不足之处:
仔细看看有什么不好的地方
如果我们不想按照成绩比较怎么办?
能做到吗?
答案是做不到,还得自己再加一个新的
所以,Comparable 自然比较 一般是设置最常见的一种,如果后面需求有改,需要扩展补充可以用上一节我们所学的Comparator来进行定制,定制比较是自然(也叫默认比较)比较的补充
4、数组类也提供了这样的方法
总结:Arrays的sort方法有两种:
(1)void sort(Object[] arr):根据元素的自然顺序对指定对象数组按升序进行排序。数组中的所有元素都必须实现 Comparable 接口。
(2)void sort(Object[] arr, Comparator c):根据“指定比较器”产生的顺序对指定对象数组进行排序。数组中的所有元素都必须是通过“指定比较器”可相互比较的