Java 中如何将比较器写成 lambda 表达式
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
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短