diff --git a/s-day07/src/com/inmind/lambda01/Demo02.java b/s-day07/src/com/inmind/lambda01/Demo02.java new file mode 100644 index 0000000..6d314ec --- /dev/null +++ b/s-day07/src/com/inmind/lambda01/Demo02.java @@ -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 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() { + @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); + + } +} diff --git a/s-day07/src/com/inmind/lambda01/Student.java b/s-day07/src/com/inmind/lambda01/Student.java new file mode 100644 index 0000000..31de554 --- /dev/null +++ b/s-day07/src/com/inmind/lambda01/Student.java @@ -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 + + '}'; + } +}