在Java中,filter
函数是Stream API中的一个操作方法,用于根据指定的条件过滤集合中的元素。它接受一个Predicate函数式接口作为参数,用于定义过滤条件。
filter
函数会对集合中的每个元素进行判断,如果满足Predicate函数式接口中定义的条件,则保留该元素,否则将其排除。返回的结果是一个新的Stream对象,其中只包含满足条件的元素。
以下是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
函数筛选出numbers集合中的偶数。n -> n % 2 == 0
是一个Lambda表达式,用于定义判断条件,即判断元素是否是偶数。最终,我们通过collect
方法将满足条件的元素收集到一个新的List集合中。
需要注意的是,filter
函数只是对原始集合中的元素进行筛选,不会对原始集合做出任何修改。如果需要修改原始集合,可以使用其他操作方法,如forEach
、map
等。