1. 程式人生 > 其它 >java中比較器的使用

java中比較器的使用

技術標籤: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));
    }
}