对象数组想要排序 那么对象对应的类必须实现 Comparable接口
覆写CompareTo方法 自己定义排序的规则
一旦实现比较器接口 覆写CompareTo方法
那么调用Arrays.sort方法时 会自动 挨个一次拿出两个元素 去调用compareTo方法 进行比较
如果compareTo方法返回0 表示当前两个元素相等 那么顺序不变
如果compareTo方法 返回正整数 表示后面的元素比前面的大 不交换位置
如果compareTo方法 返回负整数 表示后面的元素比前面的小 交换位置
如果对象数组里面对象对应的类 不是我们自己写的 无法更改源代码<br /> 但是当前对象数组需要 进行 排序 该如何处理?<br /> **自己定义一个专门比较的类, 该类实现Comparator接口**<br />**比较器接口加上泛型以后 参数就变成泛型对应的类型 省去强转**<br />** 覆写compare 方法 进行两个对象比较**<br /> 然后 调用Arrays.sort方法时 使用重载的方法 第二个参数传入第三方比较类的对象即可<br />
总结:
可更改源代码的情况下 必须实现 Comparable接口
一但实现Comparable接口 覆写CompareTo方法
自己定义排序的规则
不可更改源代码的情况下 采用第三方类
该类实现Comparator接口 覆写 compare
自己定义规则
比较器接口加上泛型以后 参数就变成泛型对应的类型 省去强转