Java Stream.filter详解

Java Stream.filter详解

Java Stream.filter详解

Java 8中引入了Stream API,可以让我们更方便地进行集合的数据处理和操作。其中,Stream.filter方法可以用来过滤集合中的元素,只保留满足特定条件的元素。本文将详细介绍Java Stream.filter的用法和示例,并展示其运行结果。

简介

Stream是一种用来处理集合数据的工具,它可以让我们更加方便地进行各种数据处理操作,比如筛选、映射、排序等。在Stream中,filter方法是用来过滤集合中元素的,只保留满足条件的元素。

filter方法的语法如下:

Stream<T> filter(Predicate<? super T> predicate)

其中,Predicate是一个函数式接口,用来指定过滤条件。filter方法会对集合中的每个元素应用Predicate中的条件,只有满足条件的元素才会保留下来。

示例

下面我们通过一个示例来演示如何使用Stream.filter方法进行集合元素的筛选。假设有一个包含整数的List集合,我们需要筛选出其中所有大于10的元素。

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class StreamFilterExample {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(5, 10, 15, 20, 25);

        // 使用Stream.filter筛选大于10的元素
        Stream<Integer> filteredNumbers = numbers.stream()
                .filter(num -> num > 10);

        // 将筛选结果收集到新的List中
        List<Integer> result = filteredNumbers.collect(Collectors.toList());

        // 输出筛选结果
        result.forEach(System.out::println);
    }
}

在上面的代码中,我们首先创建了一个整数List集合numbers,然后使用stream()方法将其转换为Stream对象。接着调用filter方法,传入一个Lambda表达式num -> num > 10作为筛选条件,表示只保留大于10的元素。最后使用collect(Collectors.toList())方法将筛选结果收集到一个新的List集合中,再通过forEach方法逐个输出筛选结果。

运行结果

上述示例代码的运行结果如下:

15
20
25

可以看到,筛选之后只保留了大于10的元素,即15、20和25。

总结

Java Stream.filter方法可以方便地对集合元素进行筛选操作,只保留满足指定条件的元素。通过合理地运用filter方法,可以更加高效地处理集合数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程