一、java中元素的比较
(1)在Java中比较两个元素相等用equals方法
(2)比叫自定义对象的大小关系时,类重写Comparable接口,实现compareTo方法
若一个类Student implents Comparable,则这个Student类具备了可比较的能力
public comparareTo(Object o){ } ,比较当前对象和传入对象的大小关系
①当返回值>0时,当前元素"大于"传入对象o
②当返回值<0时,当前元素"小于"传入对象o
③当返回值=0时,当前元素"等于"传入对象o
package priority_queue.compare;
import java.util.Arrays;
public class Student implements Comparable<Student> {
private int age;
private String name;
public Student(int age, String name) {
this.age = age;
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"age=" + age +
", name='" + name + '\'' +
'}';
}
@Override
public int compareTo(Student o) {
return this.age-o.age;
}
public static void main(String[] args) {
Student[] arr=new Student[]{
new Student(19,"张三"),
new Student(20,"李四"),
new Student(18,"王麻子")
};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
(3)实现java.until.comparator 接口=>比较器接口
此时进行排序就会到的一个升序的数组,但如果此时要得到一个降序的数组就要改为" o.age-this.age",在程序设计模式中提到,一段程序应该对扩展开放,对修改关闭,就是说当出现新的要求时,尽量不要去影响已经写好的代码,而是用新的代码去完成新要求
java.until.Comparator接口:
一个类如果实现了这个接口,就表示这个类天生就是为别的类的大小关系服务的<