stream根据两个字段去filter
时间: 2023-07-21 12:40:27 浏览: 81
Java8 Stream对两个 List 遍历匹配数据的优化处理操作
3星 · 编辑精心推荐
您好,根据两个字段进行 filter 可以使用 stream 中的 filter() 方法和 lambda 表达式来实现。具体可以按照以下步骤进行:
1. 使用 stream() 方法将集合转换为流。
2. 使用 filter() 方法进行筛选。
3. 在 filter() 方法中使用 lambda 表达式,指定需要筛选的条件。
例如,假设有一个 Student 类,包含 name 和 age 两个字段,现在需要根据 name 和 age 进行筛选,可以按照以下方式实现:
```
List<Student> students = ... ; // 从数据库或其他数据源获取 Student 集合
List<Student> filteredStudents = students.stream()
.filter(s -> s.getName().equals("Tom") && s.getAge() > 18)
.collect(Collectors.toList());
```
上述代码中,使用了 stream() 方法将 students 集合转换为流,然后在 filter() 方法中使用 lambda 表达式,对 name 和 age 字段进行了筛选,最后使用 collect() 方法将筛选后的结果转换为 List 集合。
阅读全文