Java Stream 过滤属性

在 Java 编程中,Stream 是一种处理集合数据的抽象,它可以让我们更加便捷地对集合进行各种操作,如过滤、映射、排序等。在实际应用中,我们经常需要根据对象的属性来进行过滤操作,这就需要使用 Stream 的过滤属性功能。

Stream 过滤属性示例

假设我们有一个 Person 类,包含姓名和年龄两个属性,我们想要根据年龄来过滤出符合条件的人员。下面是一个简单的示例代码:

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

class Person {
    String name;
    int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

public class FilterExample {
    public static void main(String[] args) {
        List<Person> people = new ArrayList<>();
        people.add(new Person("Alice", 25));
        people.add(new Person("Bob", 30));
        people.add(new Person("Charlie", 20));

        List<Person> filteredPeople = people.stream()
                .filter(person -> person.getAge() > 25)
                .collect(Collectors.toList());

        filteredPeople.forEach(person -> System.out.println(person.getName()));
    }
}

在上面的代码中,我们首先创建了一个 Person 类来表示人员信息,然后创建了一个包含多个 Person 对象的列表。接下来,我们使用 Stream 的 filter 方法来过滤出年龄大于 25 岁的人员,并将结果收集到一个新的列表中进行输出。

类图

classDiagram
    Person *-- name: String
    Person *-- age: int

以上是 Person 类的类图,表示了该类的属性和方法。

旅行图

journey
    title Travel Filter
    section Initial
        FilterExample -- SelectPeople: Start filtering
    section Filtering
        SelectPeople -- Filter: Filtering out people
    section Output
        Filter -- Output: Print filtered people

以上是程序执行的旅行图,展示了代码执行过程中的流程。

通过上面的示例代码和说明,我们可以看到如何使用 Stream 的过滤属性功能来对集合进行过滤操作。这种方式简洁高效,能够提高我们编程的效率,是 Java 编程中的一个重要技巧。希望通过本文的介绍,读者们能够更加深入地理解和运用 Stream 的过滤属性功能。愿大家编程愉快!