java中比較器的使用
阿新 • • 發佈:2021-01-17
技術標籤:java比較器
//先建立一個實體類
package course.comparable2;
public class Dog implements Comparable<Dog> {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Dog(String name, int age) {
this.name = name;
this.age = age;
}
public Dog() {
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
//內部比較器
@Override
public int compareTo(Dog o) {
return Integer.compare(this.getAge(),o.getAge());
}
}
//建立外部比較器
package course.comparable2;
import java.util. Comparator;
public class MyComparable implements Comparator<Dog> {
@Override
public int compare(Dog o1, Dog o2) {
return o1.getName().compareTo(o2.getName());
}
}
package course.comparable2;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
Dog [] dogs = {
new Dog("來福",1),
new Dog("二哈",3),
new Dog("大黃",4),
new Dog("小白",2)
};
//內部比較器的使用
System.out.println(dogs[0].compareTo(dogs[1]));
//外部比較器的使用
Arrays.sort(dogs, new MyComparable());
//Arrays.sort();
System.out.println(Arrays.toString(dogs));
}
}