Java 使用 Stream API 筛选 List 集合中所有属性为空的用户数据

本文将介绍如何使用 Java 8 的 Stream API 从 List 集合中筛选出所有属性都为空的用户数据。

假设你有一个 List 集合,其中保存的是 User 对象,而部分用户对象的所有属性都为空。现在你需要找出这些属性都为空的用户数据。

代码示例

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

public class Main {
    public static void main(String[] args) {
        List<User> userList = new ArrayList<>();
        userList.add(new User(null, null, null));
        userList.add(new User('John', null, null));
        userList.add(new User(null, 'Doe', null));
        userList.add(new User(null, null, 'john.doe@example.com'));
        userList.add(new User('Jane', 'Smith', 'jane.smith@example.com'));

        List<User> emptyUsers = userList.stream()
                .filter(user -> user.getName() == null && user.getSurname() == null && user.getEmail() == null)
                .collect(Collectors.toList());

        System.out.println('Empty users:');
        for (User user : emptyUsers) {
            System.out.println(user);
        }
    }

    static class User {
        private String name;
        private String surname;
        private String email;

        public User(String name, String surname, String email) {
            this.name = name;
            this.surname = surname;
            this.email = email;
        }

        public String getName() {
            return name;
        }

        public String getSurname() {
            return surname;
        }

        public String getEmail() {
            return email;
        }

        @Override
        public String toString() {
            return 'User{' +
                    'name=' + name + ''' +
                    ', surname=' + surname + ''' +
                    ', email=' + email + ''' +
                    '}';
        }
    }
}

代码解释

  1. 创建一个 User 类,包含 namesurnameemail 三个属性。
  2. 创建一个 List<User> 集合 userList,并添加一些用户对象。
  3. 使用 Stream APIfilter 方法筛选 userList 中所有属性都为空的用户对象。
  4. 使用 collect(Collectors.toList()) 方法将筛选结果收集到一个新的 List 集合 emptyUsers 中。
  5. 输出 emptyUsers 中的所有用户对象。

总结

通过以上代码示例,我们可以使用 Java 8 的 Stream API 轻松地从 List 集合中筛选出所有属性都为空的用户数据。filter 方法是 Stream API 中常用的方法,可以根据条件对集合元素进行筛选,提高代码的简洁性和可读性。

Java 使用 Stream API 筛选 List 集合中所有属性为空的用户数据

原文地址: https://www.cveoy.top/t/topic/p6So 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录