У меня есть ArrayList, содержащий много экземпляров моего простого класса моделей Пользователь , содержащий всего 2 поля:
@Data
public class User {
private String email;
private ArrayList<Integer> lists;
}
Я вставляю в списки целочисленные значения полейвсегда 1 или 0 .Имея много объектов класса User , некоторые из них являются дубликатами, поскольку имеют одинаковый адрес email , но разные списки .
Мне нужно объединить дубликаты пользователей в один объект пользователя , также заботясь о поле списки .
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 в конечном объединенном списке.
Какой подход я должен использовать дляреализовать эту логику для объединения списков?