lambda表达式是一个匿名方法,在java中不能独立执行。相反,它被用来实现由函数接口定义的方法。与任何函数接口和比较器一起使用的lambda表达式是函数接口。比较器接口在对一组对象进行排序时使用。
在下面的示例中,我们可以使用Comparator 接口按名称对员工列表进行排序。
import java.util.ArrayList; import java.util.Collections; import java.util.List; class Employee { int id; String name; double salary; public Employee(int id, String name, double salary) { super(); this.id = id; this.name = name; this.salary = salary; } } public class LambdaComparatorTest { public static void main(String[] args) { List<Employee> list = new ArrayList<Employee>(); //添加员工 list.add(new Employee(115, "Adithya", 25000.00)); list.add(new Employee(125, "Jai", 30000.00)); list.add(new Employee(135, "Chaitanya", 40000.00)); System.out.println("根据姓名对员工列表进行排序"); //实现 lambda 表达式 Collections.sort(list, (p1, p2) -> { return p1.name.compareTo(p2.name); }); for(Employee e : list) { System.out.println(e.id + " " + e.name + " " + e.salary); } } }
输出结果
根据姓名对员工列表进行排序 115 Adithya 25000.0 135 Chaitanya 40000.0 125 Jai 30000.0