Вот что я сделал, и это работает.
Предполагая, что у меня есть ArrayList
для работы с первым, что я сделал, был создан новый LinkedHashMap
.
LinkedHashSet<E> hashSet = new LinkedHashSet<E>()
Затем я пытаюсь добавить свой новый элемент в LinkedHashSet
. Метод add не изменяет LinkedHasSet
и возвращает false, если новый элемент является дубликатом. Так что это становится условием, которое я могу проверить перед добавлением к ArrayList
.
if (hashSet.add(E)) arrayList.add(E);
Это простой и элегантный способ предотвратить добавление дубликатов в список массивов. Если вы хотите, вы можете инкапсулировать его в метод add и переопределить его в классе, который расширяет ArrayList
. Просто не забудьте разобраться с addAll
, перебирая элементы и вызывая метод add.