Java的Comparable和Comparator简单使用

mac2022-06-30  29

Comparable

1 用于比较的类实现Comparable接口 接口中有一个比较器方法,重写该方法compare,由一个对象调用去比较另一个对象,所以方法只需要传递另一个要比较的对象的引用就行。 class Cat implements Comparable<Cat> { int age; String name; public Cat() { } public Cat(int a,String n) { this.age=a; this.name=n; } //按年龄比较 @Override public int compareTo(Cat c) { return this.age-c.age; } }

Comparator

2 编写一个Comparator类去实现comparable接口,不用再去更改需要比较的类,重写继承自接口的compare方法,因为是外部类去比较两个对象是否相等,需要传递两个对象的引用。 class CatComparator implements Comparator<Cat> { @Override public int compare(Cat c1, Cat c2) { return c1.age-c2.age; } } public int compare(Object o1,Object o2) { return o1.age-o2.age; }
最新回复(0)