📅  最后修改于: 2023-12-03 15:16:26.658000             🧑  作者: Mango
Stream是Java 8中引入的一个新特性,它可以用于处理集合数据。其中的filter()方法是Stream类中的一个重要方法,用于筛选集合中满足某种条件的元素。本文将为程序员介绍Java中的Stream filter()方法的用法和示例。
filter()方法用于过滤Stream中的元素,返回满足给定条件的新的Stream。该方法使用一个Predicate接口作为参数,Predicate接口代表一个函数,它接受一个参数并返回一个布尔值。只有返回true的元素才会被保留在新的Stream中。
filter()方法的用法如下:
Stream<T> filter(Predicate<? super T> predicate)
该方法的参数是一个Predicate接口,它可以使用Lambda表达式或方法引用来定义过滤条件。
假设我们有一个保存了一组整数的List,现在我们想要筛选出所有的偶数。我们可以使用filter()方法来实现这个目标。
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, 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]
}
}
在上面的示例中,我们首先创建了一个包含整数的List。然后,我们通过stream()方法将其转换为Stream。
接下来,我们使用filter()方法来筛选出所有满足条件的偶数。在Lambda表达式中,我们使用取模操作符来判断一个数是否为偶数。
最后,我们使用collect()方法将过滤后的元素收集到一个新的List中,并打印出来。
通过filter()方法,我们可以轻松地筛选出集合中满足某种条件的元素。这使得我们可以更加高效地处理集合数据。在实际开发中,我们可以根据不同的需求使用filter()方法来过滤出符合特定条件的元素。
希望本文对你理解Java中Stream的filter()方法有所帮助!