бьюсь и считаю это перебором. Есть список. Я его хочу сортировать силами самого Kotlin. С этим проблем нет. Проблема в другом. Я хочу, что бы силами самого Kotlin, то, что не соответствует параметру true при сортировке, тоже записывалось в этот список, но только как пустой элемент. Но проблема в том, что все это дело перемешивается черти знает как. А мне, необходимо, что бы оно записалось туда под тем же индексом, что и было. Может кто подсказать? В ручную, написать такое не проблема, но хочется сахаром Kotlina обойтись. Вот простая сортировка. Кто знает как ее модернизировать, под мои задачи? С уважением.
Ты пробовал такой же огромный текст закинуть в чатжпт?
можно сначала отсортировать, а потом пройтись по списку и менять на null при условии
Он зло и отвечает неправильно. Это уже сегодня обсуждали. Своя голова есть. Но тут либо самому писать, либо очень хорошо знать Kotlin. Я пока настолько хорошо не знаю. Применил мапу, что бы заполнять пустыми элементами, но как сохранить их порядок, не пойму. Он их в методе it.lenght..... перемешивает.
Да не ответят они правильно. Даже пытаться не буду. Уже обзор есть на них.
Бинг хуже бесплатной жпт 3.5
Так оно вроде сначало сортирует, а вот потом то и начинает каку творить. Просто это первый код, где без мап и добавления пустышек
Сомневаюсь
Да, там тоже сравнивали. Верно говорите.
тут сначала фильтруется а потом сортируется
Не зло, с ним просто нужно по особому, как с женщиной
Даже я с ним не всегда могу поладить, о чем речь 😆
Там пишут психологические манипуляции помогают, точнее отвечает
data class Temp(val test1: String) // Пример класса для элементов списка fun main() { val search = "someSearchString" val list = listOf( Temp("test"), Temp("some"), Temp("string"), Temp("other"), // добавьте другие элементы ) // Шаг 1: Создаем новый список, заменяя не подходящие элементы на null val indexedList = list.mapIndexed { index, temp -> if (temp.test1.contains(search, ignoreCase = true)) temp else null } // Шаг 2: Сортируем элементы, игнорируя null-элементы val sortedList = indexedList.filterNotNull().sortedBy { it.test1.length } // Шаг 3: Создаем итоговый список, вставляя отсортированные элементы обратно и заменяя null на пустые элементы val resultList = indexedList.map { it ?: Temp("") } // Замените Temp("") на ваш пустой элемент println(resultList) }
а зачем mapIndexed
data class Temp(val test1: String) fun main() { val search = "someSearchString" val list = listOf( Temp("test"), Temp("some"), Temp("string"), Temp("other") // ... добавьте другие элементы ) // Создаем список пар, где первый элемент пары - это флаг, удовлетворяет ли элемент условию, // а второй - сам элемент или null. val tempList = list.map { it to it.test1.contains(search, ignoreCase = true) } // Сортируем только те элементы, которые удовлетворяют условию (true). val sortedList = tempList.filter { it.second }.map { it.first }.sortedBy { it.test1.length } // Заполняем итоговый список, вставляя элементы на их исходные позиции или пустые элементы. val resultList = tempList.map { if (it.second) sortedList.removeAt(0) else Temp("") } println(resultList) }
HashMap он использует алгоритм деревьев
Обсуждают сегодня