Функции

Функции


В главное меню

apply

1) Списки

.getOrElse - функция безопасного доступа по индексу. getOrElse, принимает два аргумента: первый — это запрашиваемый индекс (не в квадратных скобках), второй — это лямбда, которая генерирует значение по умолчанию вместо исключения, если запрашиваемого индекса не существует.

patronList.getOrElse(4) { "Unknown Patron" }


.Map Pair

val goodUserList = userList.map{Pair(it.substringBefore(" "), it.substringAfter(" "))}

Разбивает список на 2 списка в паре до и после пробела


.flatMap (flatten)

val revenueByWeek = listOf(
    listOf(8, 3, 5, 1, 5),
    listOf(7, 1, 3, 2, 4)
)
val bestTotal = revenueByWeek.flatten()

пройдётся по всем элементам коллекции и склеит их в 1 список


.filter

Проходится по списку. Если условие true, то возвращает список.

Пример1. Возвращает список если содержится буква А:

val listOfEvanNames = listOfNames.filter { it.first() == 'А' }

Пример2. Не возвращает список если хотя бы 1 элемент списка меньше 0:

.filterNot { it.value.any {it < 0 }}


.average

вычисляет среднее значение из списка


.minByOrNull

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

data class Person (val name: String, val age: Int)
val people = listOf(Person("Alice", 29), Person("Bob", 31))
people.minByOrNull { it.age }


2) Строки

checkNotNull - проверяет значение на null и возвращает его, если оно не равно null, а иначе возбуждает IllegalStateException.

2.1) Проверка на символы

isBlank vs isEmpty?

isBlank - проверяет, является ли строка пробелом, пустой ("") или null.

isEmpty - проверяет, является ли строка пустой ("") или null

2.2) Разделители

.split("\n") - разбивает по указанному символу

substringBefore - принимает значение до указанного символа

substringAfter - принимает значение после указанного символа

it.substringBefore("СИМВОЛ")

2.3) Работа с символами в строке

.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() } - делает первый символ заглавным


Report Page