У меня есть список созданных объектов с именем RecentCard, который в основном является объектом с идентификатором пользователя, изображением и именем.Я создал список, упорядоченный в порядке самых последних взаимодействий на основе метки времени.Однако мне нужно избавиться от второго появления и далее от любого дублированного объекта.Я сравниваю только идентификаторы, поскольку пользователи могут иметь одно и то же имя или фотографию, и я не могу удалить дубликаты из простого списка идентификаторов, потому что тогда я могу потерять порядок соответствующих фотографий и имен.
Например, списокбудет выглядеть примерно так:
List<RecentCard> recentCards= [RecentCard(uid:as721dn18j2,name:mike,photourl:https://sadadasd1d1),RecentCard(.....]
Я искал решения, но все они имеют дело с такими примитивными типами, как простые списки строк, и решения не сработали для меня.Например этот пост: Как удалить дубликаты в списке дротиков?list.distinct ()? Читать ниже
Ссылка на первый ответ больше не доступна, следующий ответ с наборами - это то, что я пробовал, но просто не работает, я понятия не имею, почему, может быть, потому чтоэто не примитивный тип.Следующий ответ с пакетом запросов не сработал, потому что я использовал список для построения listview.builder, и поэтому, когда я вызвал list.length, он сказал, что не может вызвать это для итерируемого объекта или чего-то еще.Окончательное решение не будет работать, потому что оно говорит, что String не является подтипом RecentCard.
Я попытался использовать два forloops со вторым, просто сравнивая первое значение со следующей парой, но это не работает, потому что, если найден дубликатобъект удаляется, а длина путается, поэтому некоторые элементы пропускаются.
Есть идеи?Я чувствую, что это очень просто, но я не уверен, как это сделать.