在 Java 中,Stream 的 filter 方法可以用于筛选出符合特定条件的元素。filter 方法接收一个 Predicate 接口的实现,用于定义过滤条件。例如,下面是一个简单的例子:
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");
List<String> filteredNames = names.stream()
.filter(name -> name.length() > 4)
.collect(Collectors.toList());
System.out.println(filteredNames); // 输出 [Alice, Charlie]
在这个例子中,我们首先将原始的字符串列表转换为一个 Stream,然后使用 filter 方法保留长度大于 4 的字符串,最后使用 collect 方法将结果收集到一个新的列表中。
需要注意的是,filter 方法不会修改原始的 Stream,而是返回一个新的 Stream,因此可以链式调用多个 filter 方法来进行多次筛选。