Stream.filter()
方法是Java Stream API中的一个中间操作,它接受一个Predicate<T>
类型的参数,用于过滤流中满足条件的元素。filter()
方法返回一个新的Stream,其中仅包含满足谓词条件的元素。这个方法对于执行数据过滤操作非常有用。
以下是一个使用Stream.filter()
方法的示例:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> evenNumbers = numbers.stream().filter(n -> n % 2 == 0);
List<Integer> evenList = evenNumbers.collect(Collectors.toList());
在这个示例中,我们首先创建了一个包含整数的列表。然后,我们使用stream()
方法创建一个Stream,并使用filter()
方法过滤出偶数。最后,我们使用collect()
方法将结果收集到一个新的列表中。
注意,Stream.filter()
方法不会修改原始数据结构,而是创建一个新的Stream。此外,由于Stream API支持惰性求值,filter()
方法只在需要时执行操作,例如在调用collect()
方法时。