使用传统的代码对 Person[] 数组进行排序
public class Person {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public Person(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public Person() {
super();
}
}
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
fun1();
}
public static void fun1(){
Person p1=new Person("孙悟空", 500);
Person p2=new Person("猪八戒",300);
Person p3=new Person("沙悟净",200);
Person p4=new Person("白龙马",100);
Person ps[]= {p1,p2,p3,p4};
System.out.println(Arrays.toString(ps));
Arrays.sort(ps,new Comparator<Person>(){
@Override
public int compare(Person o1, Person o2) {
return o1.getAge()- o2.getAge();
}
});
System.out.println(Arrays.toString(ps));
}
}
Lambda写法
public class Person {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public Person(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public Person() {
super();
}
}
import java.util.Arrays;
import java.util.Comparator;
public class Test {
public static void main(String[] args) {
fun1();
}
public static void fun1(){
Person p1=new Person("孙悟空", 500);
Person p2=new Person("猪八戒",300);
Person p3=new Person("沙悟净",200);
Person p4=new Person("白龙马",100);
Person ps[]= {p1,p2,p3,p4};
System.out.println(Arrays.toString(ps));
Arrays.sort(ps,(o1,o2)->o1.getAge()-o2.getAge());
System.out.println(Arrays.toString(ps));
}
}