给一个对象数组排序,并给他排序规则。(创建实现Comparable,覆盖comparTo方法,规定排序规则)
package interfaceimplements;
public class HuiDiao{
public static void main(String[] args){
Student[] a = new Student[]{//学生类型的数组
new Student("小红",10),
new Student("小明",11),
new Student("小白",12)
};
java.util.Arrays.sort(a);//JDK排序
for(int i=0;i<a.length;i++){//遍历数组查看结果
a[i].print();//调用类中的打印方法
}
}
}
class Student implements Comparable<Student>{//实现【接口】
String name;
int age;
public Student(String name,int age){//构造方法为属性赋值
this.name = name;
this.age = age;
}
public void print(){//打印名字和年龄
System.out.println(name+"\t"+age);
}
public int compareTo(Student a){//【覆盖方法】
if(this.age<a.age) return -1;
else if(this.age > a.age) return 1;
else if(this.age == a.age) return 0;
return 0;
}
}
运行结果如图: