Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpSqFm 83 of 299 menu
◀ ▶

Отбор и преобразование в Kotlin

На последовательности filter и map работают так же по смыслу, как на списке: сначала отсекают лишние элементы, затем меняют каждый оставшийся. Разница в том, что оба шага остаются записью до конечного действия.

Из списка оценок можно оставить проходные баллы и перевести их в буквенные метки:

fun main() { val scores = listOf(42, 88, 55, 91, 60) val labels = scores.asSequence() .filter { it >= 60 } .map { score -> when { score >= 90 -> "A" score >= 75 -> "B" else -> "C" } } .toList() println(labels) }

Тот же прием подходит для строк: отбор по длине и приведение к верхнему регистру в одной цепочке:

fun main() { val tags = listOf("io", "api", "log", "ui") val shortUpper = tags.asSequence() .filter { it.length <= 3 } .map { it.uppercase() } .toList() println(shortUpper) }

Дан список listOf(-2, 0, 5, 8, 11). Оставьте положительные числа, умножьте каждое на два и выведите список результата.

Даны строки listOf("go", "kotlin", "rust"). Отберите слова длиннее двух символов, возьмите первые три буквы каждого и выведите список полученных коротких фрагментов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить