java lambda应用代码示例
时间: 2023-09-12 17:05:33 浏览: 157
java代码实例
### 回答1:
以下是一个使用Java lambda表达式对列表进行排序的示例代码:
```
List<String> names = Arrays.asList("peter", "anna", "mike", "xenia");
Collections.sort(names, (a, b) -> a.compareTo(b));
```
在这个例子中,lambda表达式 `(a, b) -> a.compareTo(b)` 是一个实现了 `Comparator` 接口的匿名函数,用于比较列表中的字符串。这个 lambda 表达式接收两个参数 `a` 和 `b`,并返回它们的字典序比较结果。
请注意,这是一个非常简单的示例,在实际使用中,你可以使用lambda表达式来处理更复杂的业务场景。
### 回答2:
Java Lambda表达式是Java SE 8中引入的一种新的语法特性,它可以简化代码,使开发更加便捷和灵活。下面是一个示例,展示了Java Lambda的应用代码:
假设我们有一个存储着学生对象的List集合,每个学生对象都包含有姓名和分数。我们现在需要找到所有分数大于80分的学生并打印出他们的姓名。使用传统的方式,代码可能是这样的:
```java
List<Student> students = new ArrayList<>();
// 添加学生对象到集合中
for (Student student : students) {
if (student.getScore() > 80) {
System.out.println(student.getName());
}
}
```
使用Lambda表达式可以将以上代码简化为:
```java
List<Student> students = new ArrayList<>();
// 添加学生对象到集合中
students.stream()
.filter(student -> student.getScore() > 80)
.forEach(student -> System.out.println(student.getName()));
```
在上面的代码中,我们使用了`stream()`方法将集合转换为一个流。然后,使用`filter()`方法对流中的元素进行筛选,只保留分数大于80的学生。最后,使用`forEach()`方法对每个学生对象执行打印姓名的操作。
通过使用Lambda表达式,我们可以更加简洁地实现对数据的处理,代码也更加易读和易于维护。
阅读全文