温馨提示×

java中stream().filter的作用是什么

小亿
106
2023-12-23 01:38:17
栏目: 编程语言

在Java中,Stream().filter()是一个中间操作,用于筛选满足特定条件的元素,并生成一个新的流。它接受一个Predicate函数式接口作为参数,该接口定义了一个用于判断元素是否满足条件的方法。filter()方法会遍历流中的每个元素,对每个元素应用Predicate接口的test()方法,如果返回true,则将该元素包含在新的流中,否则不包含。

filter()方法可以用于对集合或数组中的元素进行筛选,只保留满足特定条件的元素。例如,以下代码片段演示了如何使用filter()方法筛选出一个整数流中的偶数:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

List<Integer> evenNumbers = numbers.stream()
                                   .filter(n -> n % 2 == 0)
                                   .collect(Collectors.toList());

System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]

在上述例子中,我们首先将整数集合转换为流,然后使用filter()方法筛选出符合条件(即能被2整除)的元素,最后使用collect()方法将结果收集到一个新的List中。最终输出的结果是一个包含所有偶数的列表 [2, 4, 6, 8, 10]。

0