Java 8 使用 Stream API 对 List 对象集合根据 userId 去重
可以使用 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 方法,否则去重操作可能不会生效。
原文地址: https://www.cveoy.top/t/topic/qEkP 著作权归作者所有。请勿转载和采集!