【Java】Comparator<T>接口的使用
需要对数组里面的对象根据指定属性进行排序:
例如将下面的对象根据年龄进行排序
排序前:
Person{name=‘p’, age=23}
Person{name=‘m’, age=29}
Person{name=‘h’, age=26}
排序后:
Person{name=‘p’, age=23}
Person{name=‘h’, age=26}
Person{name=‘m’, age=29}
首先介绍一下Comparator接口,通过实现此接口重写compare方法实现两个对象比较大小;
使用方法
1.创建类A实现Comparator接口
2.重写接口中的compare(T o1,T o2)方法,自定义比较规则
public class Person implements Comparator<Person>{
String name;
int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
//通过比较对象的年级来比较对象的大小,如果返回值大于0则o1大,反之。。。
@Override
public int compare(Person o1, Person o2) {
return o1.age - o2