2016-10-25 6 views
-1

Как сравнить объекты в 2 разных списках? У меня есть два списка List # 1 и List # 2, в каждом из которых может быть один или несколько объектов, которые мне нужно передать все изменения с # 1 на # 2. Таким образом, они будут тем же, но изменениями от # 2. Он должен работать только с # 1 -> # 2. Список (ы) не может быть заказан и может содержать разные значения для объекта, поэтому я не могу заказать по id. Мне нужно найти, какой объект из # 1 сопоставим с объектом из # 2, а затем копировать только изменения с # 1 на # 2.Сравнение значений в ArrayList

+0

Я предполагаю, что все объекты в этих списках являются одним и тем же классом. В этом случае вам просто нужно переопределить метод equals() этого класса, чтобы обеспечить ваше пользовательское поведение сравнения – siarheib

ответ

0

Из того, что, я думаю, вы пытаетесь сделать из своего вопроса (без кода). Вы пытаетесь сделать заполнить список # 2 содержимым списка №1, и вы не хотите дублировать данные.

Вы можете сделать одно, если хотите добавить содержимое списка 1 и списка 2 в один список. Используйте HashSet. HashSet не позволяет дублировать данные. Итак, как только ваш List1 обновляется в HashSet, перебирайте List2 и заполняйте HashSet содержимым List2.

Результат - Вы получите HashSet уникальных данных как List1 и List2

Вы можете использовать этот учебник - http://www.javatpoint.com/HashSet-class-in-collection-framework

0

Спасибо за все идеи. Как оказалось, сбор был хорошим намеком, куда идти. Я на самом деле использовал HashMap. Я мог бы создавать ключи и на основе ключа, который я могу сравнить, и если необходимо добавить или удалить запись.

Смежные вопросы