在处理流时,有时候我们希望只关注流中的特定元素,而忽略其他元素。这种情况下,我们可以使用Java 8引入的流操作方法filter()
来过滤流中的元素。
下面是一个使用filter()
方法过滤流中不需要关注的元素的示例代码:
import java.util.Arrays;
import java.util.List;
public class StreamFilterExample {
public static void main(String[] args) {
List fruits = Arrays.asList("apple", "banana", "orange", "grape", "watermelon");
// 过滤出长度大于5的水果
List filteredFruits = fruits.stream()
.filter(fruit -> fruit.length() > 5)
.toList();
System.out.println(filteredFruits); // 输出: [banana, watermelon]
}
}
在上面的示例中,我们使用filter()
方法来过滤出长度大于5的水果。filter()
方法接受一个Predicate
函数式接口作为参数,用于指定过滤条件。在这里,我们使用Lambda表达式fruit -> fruit.length() > 5
来指定长度大于5的条件。
运行上面的代码,将会输出过滤后的水果列表[banana, watermelon]
。
你可以根据自己的需求,修改filter()
方法的参数来实现不同的过滤条件。