java中的对象数组排序,--Comparable接口

来源:互联网 发布:种子搜索算法代码 编辑:程序博客网 时间:2024/05/16 01:56
package pricate.use;
import java.lang.Comparable;
import java.util.Arrays;
/*
 * 对象数组的排序,要比较必须实现lang.Comparable接口的compareTo方法
 * 当事先知道对象数组要排序时,就可以在类中实现compareTo方法
 */


public class TestUser7 {


public static void main(String[] args) {
Persons per1=new Persons("张三",18);
Persons per2=new Persons("李四",17);
Persons per3=new Persons("王五",20);
Persons per[]=new Persons[]{per1,per2,per3};
System.out.println("排序前的对象数组:");
System.out.println(Arrays.toString(per));
Arrays.sort(per);
System.out.println("--------------------------");
System.out.println("排序后的对象数组:");
System.out.println(Arrays.toString(per));
}


}
class Persons implements Comparable<Persons>{
private String name;
private int age;
public Persons(String name,int age)
{
this.name=name;
this.age=age;
}
public String getName()
{
return this.name;
}
public int getAge()
{
return this.age;
}
public int compareTo(Persons per)
{
if(this.age>per.age)
return 1;
else if(this.age<per.getAge())
return -1;
else
return this.name.compareTo(per.getName());

}
public String toString()
{
return "姓名:"+this.name +",年龄:"+this.age+"\n";
}
}
0 0