Стандартная библиотека Kotlin: полный обзор
Стандартная библиотека Kotlin (stdlib) — это мощный набор инструментов, который поставляется вместе с компилятором и обеспечивает базовую функциональность для повседневной разработки. В отличие от Java, где многие операции требуют внешних библиотек, Kotlin предлагает встроенные решения для работы с коллекциями, строками, корутинами, сериализацией и файловым вводом-выводом. В этой статье мы подробно разберём ключевые модули и функции стандартной библиотеки Kotlin с практическими примерами.
1. Основные типы и их возможности
Библиотека включает расширенные функции для примитивных типов и строк:
- Числовые типы —
Int,Double,Longи их расширения (.toInt(),.coerceIn()). - Строки — шаблоны (
"Hello, $name"), многострочные строки ("""..."""), методыreplace(),split(),trimIndent(). - Диапазоны —
1..10,step 2,downTo.
// Пример работы со строками и диапазонами
fun main() {
val name = "Kotlin"
val greeting = "Hello, $name!"
println(greeting) // Hello, Kotlin!
for (i in 1..5 step 2) {
println(i) // 1, 3, 5
}
}
2. Коллекции: List, Set, Map
Kotlin разделяет коллекции на изменяемые (MutableList, MutableSet, MutableMap) и неизменяемые (List, Set, Map). Основные возможности:
- Создание —
listOf(),setOf(),mapOf(). - Фильтрация и трансформация —
filter(),map(),flatMap(),groupBy(). - Агрегация —
sum(),count(),reduce(),fold(). - Сортировка —
sorted(),sortedBy().
// Пример работы с коллекциями
fun main() {
val numbers = listOf(1, 2, 3, 4, 5)
val evenSquares = numbers
.filter { it % 2 == 0 }
.map { it * it }
println(evenSquares) // [4, 16]
val grouped = numbers.groupBy { if (it % 2 == 0) "even" else "odd" }
println(grouped) // {odd=[1, 3, 5], even=[2, 4]}
}
3. Последовательности (Sequences)
Для ленивых вычислений Kotlin предлагает Sequence. Это особенно полезно при работе с большими объёмами данных:
fun main() {
val result = (1..1_000_000)
.asSequence()
.filter { it % 2 == 0 }
.map { it * 2 }
.take(5)
.toList()
println(result) // [4, 8, 12, 16, 20]
}
4. Null-безопасность и элвис-оператор
Одна из ключевых фич Kotlin — безопасная работа с null. Библиотека предоставляет:
- Элвис-оператор (
?:) — задаёт значение по умолчанию. - Безопасный вызов (
?.) — предотвращает NullPointerException. - Функция let — выполняет код только если объект не null.
fun main() {
val name: String? = null
val length = name?.length ?: 0
println(length) // 0
name?.let {
println("Name is not null: $it")
}
}
5. Работа с файлами и потоками
Стандартная библиотека включает удобные расширения для java.io.File:
readText(),writeText()— чтение/запись строк.readLines()— чтение построчно.useLines()— безопасная работа с потоками.copyTo(),deleteRecurs