内部比较器和外部比较器
内部比较器
@AllArgsConstructor @NoArgsConstructor @Data public class Student implements Comparable<Student>{ private String name; private double height; private int age; @Override public int compareTo(Student student) {//内部比较器 //按照年龄比较 //return this.age-student.age>0?1:-1; //按照身高进行比较 // return ((Double)(this.height)).compareTo((Double)(student.height)); //按照姓名进行比较 return (this.name).compareTo(student.name); } }
public class Test01 { public static void main(String[] args) { Student student1 = new Student("bzhansgan",2.1,13); Student student2 = new Student("alisi",3.1,16); System.out.println(student1.compareTo(student2)); } }
---------------------------------外部比较器实现Comparator接口 效率高于内部比较器---------------------------------------------------------
package com.msb.compareable01.compareable; import java.util.Comparator; /** * @author lcc * @version V1.0 * @Package com.msb.compareable01.compareable * @date 2022/4/24 11:25 */ public class Bijiaoqi implements Comparator<Student> { @Override public int compare(Student student1, Student student2) { return student1.getAge()-student2.getAge(); } } class Bijiaoqi01 implements Comparator<Student>{ @Override public int compare(Student student01, Student student02) { return ((Double)(student01.getHeight())).compareTo(student02.getHeight()); } } class Bijiaoqi02 implements Comparator<Student>{ @Override public int compare(Student student01, Student student02) { return ((String)(student01.getName())).compareTo(student02.getName()); } }
@AllArgsConstructor @NoArgsConstructor @Data public class Student { private String name; private double height; private int age; }
public class Test01 { public static void main(String[] args) { Student student1 = new Student("bzhansgan",2.1,13); Student student2 = new Student("alisi",3.1,16); Bijiaoqi bijiaoqi = new Bijiaoqi(); System.out.println(bijiaoqi.compare(student1, student2)); Bijiaoqi01 bijiaoqi01 = new Bijiaoqi01(); System.out.println(bijiaoqi01.compare(student1, student2)); Bijiaoqi02 bijiaoqi02 = new Bijiaoqi02(); System.out.println(bijiaoqi02.compare(student1, student2)); } }

浙公网安备 33010602011771号