条件

1、匿名函数

2、有一个需要实现的方法

格式

(参数列表)→ {代码}

示例

有一个学生类,需要根据学号排序

  • 方法一(正常写法)
1
2
3
4
5
6
7
8
9
10
11
new Comparator<Student> () {
public int compare(Student o1, Student o2) {
return o1.id - o2.id;
}
}

Collections.sort(student, new Comparator<Student> () {
public int compare(Student o1, Student o2) {
return o1.id - o2.id;
}
});
  • 方法二(lambda表达式简化)
1
2
3
4
5
6
7
(Student o1, Student o2) {
return o1.id - o2.id;
}

Collections.sort(student, (Student o1, Student o2) -> {
return o1.id - o2.id;
});
1
2
3
PriorityQueue<Integer> q = new PriorityQueue<Integer>((Integer a, Integer b) -> {
return a - b;
});