在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]。