Student类存储数据
public class Student {
private String name;
private int age;
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "StaudentDemo [name=" + name + ", age=" + age + "]";
}
}
使用lambda表达式实现Student对象的排序
import java.util.Arrays;
import java.util.Comparator;
public class JDK8Demo2 {
public static void main(String[] args) {
//student类的对象进行排序
//方法一:使用comparator的匿名内部类
Student [] st = {new Student("张三",15),new Student("李四",20),new Student("赵五",10) };
Arrays.sort(st, new Comparator<Student>() {
public int compare(Student o1,Student o2) {
return o1.getAge()-o2.getAge();
}
});
System.out.println(Arrays.toString(st));
//方法二:使用lambda表达式: ( 参数1,参数2...)->{代码块;}
Comparator<Student> c = (o1,o2) -> o1.getAge()-o2.getAge(); //{代码块;}这里只有一句代码块时,花括号要省略否则报语法错误
Arrays.sort(st,c);
//或者合成一句话代码
Arrays.sort(st,(o1,o2)->o1.getAge()-o2.getAge());
System.out.println(Arrays.toString(st));
}
}