Я добавляю элементы к Android (Kotlin)
адаптеру, расширяющему ArrayObjectAdapter
.
Я использую addAll для добавления предметов.
Из ArrayObjectAdapter:
public void addAll(int index, Collection items) {
int itemsCount = items.size();
if (itemsCount == 0) {
return;
}
mItems.addAll(index, items);
notifyItemRangeInserted(index, itemsCount);
}
Мой вопрос: как избежать дублирования элементов в адаптере? Проблема в том, что резервный сбор данных для ArrayObjectAdapter
представляет собой список (не набор), и когда я использую addAll
, можно добавить дублирующий элемент. Я могу использовать addAll
с LinkedHashSet
(так как он принимает коллекцию в качестве входных данных), но если я добавлю еще один hashset
, он может иметь дубликаты с 1-м hashset
, поэтому мне все еще нужно проверить весь список. Конечно, я могу просматривать все элементы списка каждый раз, когда добавляю что-то, но это не очень хорошее решение по понятным причинам. Есть ли эффективный способ предотвращения дублирования в этом сценарии? Благодарю.