目录
第一种方式(定义另一类实现Comparator接口)
第二种方式(类本身实现Comparable接口)
首先定义person数组并且初始化:
public class Demo {
public static void main(String[] args) {
Person[] person = new Person[3];
Person person1 = new Person(1, "1");
Person person2 = new Person(2, "22");
Person person3 = new Person(3, "333");
person[0] = person1;
person[1] = person2;
person[2] = person3;
}
}
class Person{
int num;
String name;
Person(int num, String name){
this.num = num;
this.name = name;
}
@Override
public String toString() {
return "num:"+this.num+"\tname:"+this.name;
}
}
准备工作已做好,进入主题:
第一种方式:
(1)实现Comparator接口中的compare方法:
class Comptor implements Comparator<Person>{
@Override
public int compare(Person o1, Person o2) {
return o2.num - o1.num; //按照num从大到小进行排序
}
}
(2)调用sort方法
Arrays.sort(person, new Comptor());
(3)输出数组
第二种方式:
(1) 改写Person类,让Person实现Comparable接口中compareTo方法
class Person implements Comparable<Person>{
int num;
String name;
Person(int num, String name){
this.num = num;
this.name = name;
}
@Override
public String toString() {
return "num:"+this.num+"\tname:"+this.name;
}
@Override
public int compareTo(Person o) {
return o.num - this.num; //按照num从大到小进行排序
}
}
(2)调用sort方法
Arrays.sort(person);
(3)输出数组