кастовать в MutableList, если у меня addresses и так MutableList, но map возвращает только List. Разве нету такого же метода для MutableList?
Чтоб поменять поле в одном элементе по индексу, ты перебираешь весь список? Зачем?
согласен, но там не иднекс, а ИД. Вот нужно сначала индекс найти соотв итема и по нему уже заменить
а как ты собираешься делать, не перебирая?
есть .find{}
и? она что не за O(n) отрабатывает?
маппить не нужно будет
Я бы сделал по-другому структуру в которой есть поиск по ид
Функция одна и она возвращает немутабельный потому что у нее нет причин возвращать мутабельный
использовать hashMap? submitList у adapter принимает только List
если с листом не менять, то дешевле через индексОфФерст + сет.
ну да, вроде меньше кода
Это indexOf без условия, айтемы должны быть идентичны и хеши с иквалс работать, чтобы корректно находило
indexOfFirst проверка что не -1 и сет
я что-то не пойму, почему не срабатывает
Это же не копи
Судя по вставленному логкату ты не пользовался дебаггером. Вот попробуй подключить дебаггер и пошагово посмотри что не так
По-котлински это будет так: aaa.findFirst { ...}?.let { ... А то сейчас вы сначала находите индекс, потом проверяете нашлось ли что-то, потом опять лезете в список, чтобы обновить элемент. Слишком много лишних телодвижений. Как в Java 😜
Там нужно скопировать дата класс, поэтому через индекс
Вроде там в списке только одно поле меняется и обратно присваивается 🤷♂
На последнем скрине- да, перед этим копи было
Я про последний как раз...
Я понимаю) но там подпись, шо не работает)
Ну допустим, я нашел этот элемент, что с ним делать? мне все равно индекс его нужен в списке, чтобы заменить
findFirst его и возвращает, если находит. Бери и пользуйся. Что ещё нужно для счастья?
нет такого, только find и findLast, а find возвращает T?
find тоже норм
а толку то мне от него? если мне потом все равно нужно будет его искать в списке?
Зачем??? Он находит этот элемент и возвращает его готовым к употреблению.
так? не работает
Что именно не работает?
В список отправь копию элемента, а не просто поле поменяй, сработает. А там можно и укоротить код
Зачем копию?
В адаптер, в самбит лист. Иначе не увидит, что список поменялся
И не увидит, если в value присваивается тот же самый список. И пофиг, что там элементы меняются.
Обсуждают сегодня