【发布时间】:2019-05-05 21:33:18
【问题描述】:
我的 ArrayList 包含我的简单模型类 User 的许多实例,其中仅包含 2 个字段:
@Data
public class User {
private String email;
private ArrayList<Integer> lists;
}
我在 lists 字段中插入整数值,总是 1 或 0。 User 类有许多对象,其中一些是重复的,因为它们具有相同的 email 地址但不同的列表。
我需要将 Users 的重复项合并到 User 的一个对象中,同时还要注意 lists 字段。
User user1 = new User('email@gmail.com', Arrays.asList(0, 1, 0, 1, 1));
User user2 = new User('email@gmail.com', Arrays.asList(0, 0, 0, 1, 1));
User user3 = new User('email@gmail.com', Arrays.asList(1, 1, 1, 1, 1));
/* merge duplicated objects into one */
User mergedUser = new User('email@gmail.com', Arrays.asList(1, 1, 1, 1, 1));
我在实现将许多 列表 合并为一个的逻辑时遇到了困难。 其背后的逻辑并不复杂:只要有1,就将1放入合并列表。有许多具有 0 且只有一个 1 的列表,会在最终合并列表中产生值 1。
我应该采取什么方法来实现这个合并列表的逻辑?
【问题讨论】: