Bibliothèque standard Kotlin : aperçu complet et exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Bibliothèque standard Kotlin : aperçu complet



La bibliothèque standard Kotlin (stdlib) est un ensemble d'outils puissants intégrés directement dans le langage. Elle fournit tout le nécessaire pour le développement quotidien : du travail avec les collections et les chaînes de caractères aux coroutines et à la sérialisation. Contrairement à Java, Kotlin élimine le code passe-partout en proposant une syntaxe concise et expressive. Dans cet aperçu, nous allons détailler les modules clés de la stdlib avec des exemples pratiques.



1. Travail avec les collections

La bibliothèque propose des collections immuables (List, Set, Map) et mutables (MutableList, MutableSet, MutableMap) avec un riche ensemble de fonctions d'ordre supérieur.



val numbers = listOf(1, 2, 3, 4, 5)val doubled = numbers.map { it * 2 } // [2, 4, 6, 8, 10]val even = numbers.filter { it % 2 == 0 } // [2, 4]val sum = numbers.reduce { acc, i -> acc + i } // 15


Fonctions clés :

  • map, filter, flatMap — transformation et filtrage
  • groupBy, partition — regroupement d'éléments
  • zip, unzip — combinaison de collections
  • chunked, windowed — division en parties


2. Chaînes de caractères et expressions régulières

Kotlin étend String avec des méthodes absentes en Java : suppression de préfixes/suffixes, vérification de chaîne vide, modèles.



val text = "  Bonjour, Kotlin!  "println(text.trim()) // "Bonjour, Kotlin!"println(text.removePrefix("  ")) // "Bonjour, Kotlin!  "println(text.contains(Regex("Kotlin"))) // true

// Chaînes multilignes avec trimIndentval json = """ { "name": "Kotlin", "year": 2016 }""".trimIndent()


3. Null-sécurité et opérateur Elvis

L'une des fonctionnalités clés de Kotlin est la protection intégrée contre les NPE. La bibliothèque standard fournit des fonctions d'appel sécurisé (?.let) et l'opérateur Elvis (?:).



val name: String? = getUserName()val length = name?.length ?: 0 // si name == null, alors 0name?.let { println("Le nom est $it") } // exécuté uniquement si name != null


4. Coroutines (kotlinx.coroutines)

Bien que les coroutines soient formellement une bibliothèque séparée, elles sont considérées comme faisant partie de l'écosystème Kotlin. Elles permettent d'écrire du code asynchrone de manière synchrone.



import kotlinx.coroutines.*

fun main() = runBlocking { launch { delay(1000L) println("Monde!") } println("Bonjour,")}


Composants principaux :

  • launch — lancement d'une coroutine sans valeur de retour
  • async — lancement avec retour d'un Deferred
  • withContext — changement de contexte (par exemple, vers le thread UI)
  • Canaux (Channel) — pour le transfert de données entre coroutines


5. Sérialisation (kotlinx.serialization)

Prise en charge intégrée de JSON, Protobuf, CBOR et d'autres formats via des annotations.



import kotlinx.serialization.*import kotlinx.serialization.json.*

@Serializabledata class User(val name: String, val age: Int)

fun main() { val user = User("Alice", 30) val json = Json.encodeToString(user) println(json) // {"name":"Alice","age":30} val decoded = Json.decodeFromString<User>(json) println(decoded) // User(name=Alice, age=30)}


6. Flux et séquences

Pour les calculs paresseux, utilisez Sequence au lieu de List — cela économise de la mémoire lors du traitement de grandes données.



val seq = generateSequence(1) { it + 1 } // séquence infinie    .take(10)    .filter { it % 2 == 0 }    .toList()println(seq) // [2, 4, 6, 8, 10]


Fonctions d'extension

Recommendations