可以使用 Java 8 的 Stream API 来实现对 List 对象集合根据 userId 去重。假设 List 的元素类型为 User,其中 User 类包含 userId 属性。

首先,需要在 User 类中实现 equals 和 hashCode 方法,以便根据 userId 进行去重。

public class User {
    private int userId;
    // 其他属性和方法

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return userId == user.userId;
    }

    @Override
    public int hashCode() {
        return Objects.hash(userId);
    }
}

然后,可以使用 Stream 的 distinct 方法根据 userId 进行去重,最后使用 collect 方法将去重后的元素收集到一个新的 List 中。

List<User> distinctUsers = userList.stream()
                                   .distinct()
                                   .collect(Collectors.toList());

以上代码将根据 userId 对 userList 进行去重,并将去重后的元素收集到 distinctUsers 列表中。

注意:要确保 User 类正确实现了 equals 和 hashCode 方法,否则去重操作可能不会生效。

Java 8 使用 Stream API 对 List 对象集合根据 userId 去重

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

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