s-day07-使用Lambda表达式简化有参数有返回值的方法(比较器)
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
package com.inmind.lambda01;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
/*
|
||||||
|
使用Lambda表达式简化有参数有返回值的方法(比较器)
|
||||||
|
使用比较器,对学生对象按成绩降序排序
|
||||||
|
*/
|
||||||
|
public class Demo02 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
ArrayList<Student> students = new ArrayList<>();
|
||||||
|
students.add(new Student("小王1", 23, 100));
|
||||||
|
students.add(new Student("小王2", 25, 80));
|
||||||
|
students.add(new Student("小王3", 24, 90));
|
||||||
|
//使用比较器对学生集合排序
|
||||||
|
/*Collections.sort(students, new Comparator<Student>() {
|
||||||
|
@Override
|
||||||
|
public int compare(Student o1, Student o2) {
|
||||||
|
return o2.score-o1.score;
|
||||||
|
}
|
||||||
|
});*/
|
||||||
|
//使用lambda表达式简化以上代码
|
||||||
|
Collections.sort(students,(Student o1, Student o2)->{
|
||||||
|
return o1.score-o2.score;
|
||||||
|
});
|
||||||
|
|
||||||
|
System.out.println(students);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package com.inmind.lambda01;
|
||||||
|
|
||||||
|
public class Student {
|
||||||
|
String name;
|
||||||
|
int age;
|
||||||
|
int score;
|
||||||
|
|
||||||
|
public Student(String name, int age, int score) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
this.score = score;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Student{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", age=" + age +
|
||||||
|
", score=" + score +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user