lamada表达式根据条件过滤list
时间: 2023-09-10 20:11:40 浏览: 100
使用Lambda表达式根据条件过滤List,可以使用Java 8中引入的Stream API。Stream API提供了filter()方法,可以根据给定的条件过滤Stream中的元素。
示例代码如下,假设有一个List<Student>,其中Student类有两个属性:name和score,现在要根据score过滤出分数大于等于80分的学生:
```java
List<Student> studentList = ... //获取Student列表
List<Student> filteredList = studentList.stream()
.filter(student -> student.getScore() >= 80)
.collect(Collectors.toList());
```
上述代码中,首先通过stream()方法将List转换为Stream,然后调用filter()方法,过滤出符合条件的元素。在filter()方法中,使用Lambda表达式实现过滤条件,即score大于等于80分。最后通过collect()方法将过滤后的结果转换为List并返回。
需要注意的是,使用Stream API进行过滤操作时,不会改变原始的List,而是返回一个新的List。如果需要在原始List上进行修改,可以使用forEach()方法遍历List,然后进行修改操作。
阅读全文