169 похожих чатов

Ребят, а никто не подскажет, почему я еще должен обратно

кастовать в MutableList, если у меня addresses и так MutableList, но map возвращает только List. Разве нету такого же метода для MutableList?

34 ответов

15 просмотров

Чтоб поменять поле в одном элементе по индексу, ты перебираешь весь список? Зачем?

согласен, но там не иднекс, а ИД. Вот нужно сначала индекс найти соотв итема и по нему уже заменить

Данил-Дегтярев Автор вопроса

а как ты собираешься делать, не перебирая?

есть .find{}

Данил-Дегтярев Автор вопроса

и? она что не за O(n) отрабатывает?

маппить не нужно будет

Я бы сделал по-другому структуру в которой есть поиск по ид

Функция одна и она возвращает немутабельный потому что у нее нет причин возвращать мутабельный

Данил-Дегтярев Автор вопроса

использовать hashMap? submitList у adapter принимает только List

если с листом не менять, то дешевле через индексОфФерст + сет.

Данил-Дегтярев Автор вопроса

ну да, вроде меньше кода

Это indexOf без условия, айтемы должны быть идентичны и хеши с иквалс работать, чтобы корректно находило

indexOfFirst проверка что не -1 и сет

Данил-Дегтярев Автор вопроса

я что-то не пойму, почему не срабатывает

Это же не копи

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

По-котлински это будет так: aaa.findFirst { ...}?.let { ... А то сейчас вы сначала находите индекс, потом проверяете нашлось ли что-то, потом опять лезете в список, чтобы обновить элемент. Слишком много лишних телодвижений. Как в Java 😜

Там нужно скопировать дата класс, поэтому через индекс

Вроде там в списке только одно поле меняется и обратно присваивается 🤷‍♂

На последнем скрине- да, перед этим копи было

Я про последний как раз...

Я понимаю) но там подпись, шо не работает)

Данил-Дегтярев Автор вопроса

Ну допустим, я нашел этот элемент, что с ним делать? мне все равно индекс его нужен в списке, чтобы заменить

findFirst его и возвращает, если находит. Бери и пользуйся. Что ещё нужно для счастья?

Данил-Дегтярев Автор вопроса

нет такого, только find и findLast, а find возвращает T?

find тоже норм

Данил-Дегтярев Автор вопроса

а толку то мне от него? если мне потом все равно нужно будет его искать в списке?

Зачем??? Он находит этот элемент и возвращает его готовым к употреблению.

Данил-Дегтярев Автор вопроса

так? не работает

Что именно не работает?

В список отправь копию элемента, а не просто поле поменяй, сработает. А там можно и укоротить код

Зачем копию?

В адаптер, в самбит лист. Иначе не увидит, что список поменялся

И не увидит, если в value присваивается тот же самый список. И пофиг, что там элементы меняются.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта