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

Как наиболее эффективно с помощью операторов на списках проверить, есть

ли в списке дубляции?🤔 Кроме list.toSet().size == list.size.

18 ответов

13 просмотров

https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/distinct.html

Кирилл-Романенко Автор вопроса
Konstantin Dovnar
https://kotlinlang.org/api/latest/jvm/stdlib/kotli...

Мне не надо просто отсеять повторы, мне надо проверить, есть ли повторы.)) А в идеале хотелось бы получить имя первого повторяющегося элемента в списке, или нулл если все элементы уникальны.

fold 🌚

Кирилл-Романенко Автор вопроса
Andrew Mikhaylov
fold 🌚

Хм, ну да, подходит, спасибо.)

Кирилл Романенко
Хм, ну да, подходит, спасибо.)

Можно поэлементно заполнять set до момента, пока добавление элемента не вернёт false.

Кирилл Романенко
screenshot Я реализовал так

Ну вот contains на листе будет медленнее, чем проверка при добавлении в сет

Кирилл Романенко
screenshot Я реализовал так

Выглядит как очень долгая реализация (plus и contains долгие для read-only листов)

Кирилл-Романенко Автор вопроса
Alex Levin
Выглядит как очень долгая реализация (plus и conta...

Компайл-тайм, так что не страшно. :) (это будет запускаться в плагине при сборке)

Кирилл Романенко
Компайл-тайм, так что не страшно. :) (это будет за...

Ну тогда наверное просто проще выбрать самое компактное решение :)

Кирилл Романенко
Компайл-тайм, так что не страшно. :) (это будет за...

А потом пользователи будут жаловаться на долгую сборку 😄

Andrew Mikhaylov
Ну вот contains на листе будет медленнее, чем пров...

Я бы не говорил так однозначно, при малом количестве элементов full scan будет скорее всего быстрее, чем поиск в set

Alexey Otts
Я бы не говорил так однозначно, при малом количест...

От сета зависит. Если он сортированный, то может быть сильно быстрее

Alexander Nozik
От сета зависит. Если он сортированный, то может б...

вот TreeSet точно будет медленнее на малом количестве элементов)

Alexander Nozik
На малом да. На большом сильно быстрее

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

Alexey Otts
Ну речь то шла про малый размер, малый тут конечно...

Я пропустил начало. Я думаю, что в любом случае, если кто-то начинает такие вещи сравнивать без наличия ботлнека в этом месте, этот кто-то чему-то не тем занимается

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта