stream流对List进行过滤

用filter方法

		// 获取 List 数据
        List<Student> studentList = StudentService.getStudentList();
        // 1.使用Java8 遍历List
        studentList.forEach(System.out::println);
        // 2.使用Java8 过滤List
        // 获取高三年级的学生信息
        System.out.println( "--------使用filter() 过滤获取高三年级的学生信息--------");
        List<Student> filterList = studentList.stream().filter(student -> student.getGrade() == "高三").collect(Collectors.toList());
        // 3.遍历过滤后的List
        filterList.forEach(System.out::println);
### Java Stream API 过滤 List 集合中的元素 在Java 8及其后续版本中,Stream API 提供了一种高效且简洁的方法来处理集合数据。对于 `List` 类型的数据结构,可以利用 `stream()` 方法将其转换成对象,再通过调用 `filter(Predicate)` 函数实现基于给定条件的筛选功能[^1]。 下面是一个具体的例子展示怎样使用 Stream API 来过滤列表: 假设有一个整数类型的列表,目标是从该列表里挑选出所有的偶数值并打印出来。 ```java import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { // 创建一个包含多个整数的列表 List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6); // 使用Stream API 对列表进行过滤操作 List<Integer> evenNumbers = numbers.stream() .filter(n -> n % 2 == 0) // 只保留能被2整除的数字 .collect(Collectors.toList()); // 将结果收集到新的列表 System.out.println(evenNumbers); // 输出:[2, 4, 6] } } ``` 上述代码片段展示了如何创建一个简单的 `Integer` 列表,并应用 `stream().filter(...).collect(...)` 程完成对原始列表的过滤工作。这里的关键在于定义了一个 lambda 表达式的谓词作为参数传递给了 filter() 方法,用于指定哪些项应该保留在最终的结果集中。 #### 注意事项 - 当执行完一系列中间操作之后(比如这里的 `filter`),通常会跟随着终端操作(如 `forEach`, `count`, 或者像上面那样使用 `collect` 收集器)以触发实际计算过程。 - 如果原集合为空,则经过过滤后的集合也将保持为空状态;如果没有任何元素满足过滤条件,则返回的是一个不含有任何成员的新集合实例而不是抛异常或者 null 值。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值