Bibliothèque standard Kotlin : aperçu complet

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

Qu'est-ce que la bibliothèque standard Kotlin ?

La bibliothèque standard Kotlin (kotlin-stdlib) est un ensemble de modules intégrés au langage qui fournissent aux développeurs des solutions prêtes à l'emploi pour les tâches quotidiennes. Contrairement à Java, où de nombreuses choses doivent être écrites manuellement ou nécessitent des bibliothèques tierces, Kotlin propose des outils intégrés puissants pour travailler avec les collections, les chaînes, les flux, les coroutines et la sérialisation. La bibliothèque est entièrement compatible avec Java, tout en étendant ses capacités, rendant le code plus concis et plus sûr.



Modules principaux de la bibliothèque standard

  • kotlin-stdlib — le noyau de la bibliothèque : collections, ranges, sequences, fonctions standard (let, apply, also, run).
  • kotlinx-coroutines — prise en charge de la programmation asynchrone via les coroutines.
  • kotlinx-serialization — sérialisation/désérialisation en JSON, Protobuf et autres formats.
  • kotlin-test — outils pour les tests unitaires.
  • kotlin-reflect — réflexion et manipulation des types à l'exécution.


Collections et séquences

L'un des points forts de Kotlin est la gestion des collections. La bibliothèque propose à la fois des collections mutables et immutables. Toutes les opérations de base (filtrage, transformation, regroupement) sont implémentées sous forme de fonctions d'extension.



Exemple : travailler avec des listes

val numbers = listOf(1, 2, 3, 4, 5, 6)val evenSquares = numbers    .filter { it % 2 == 0 }    .map { it * it }    .sortedDescending()println(evenSquares) // [36, 16, 4]

Dans cet exemple, nous utilisons une chaîne d'appels : filtrage, transformation et tri. Toutes les opérations sont exécutées paresseusement jusqu'à l'appel d'une opération terminale (dans ce cas, l'impression). Pour les grands ensembles de données, il est recommandé d'utiliser Sequence.



Séquences pour les calculs paresseux

val largeList = (1..1_000_000).toList()val result = largeList.asSequence()    .filter { it % 2 == 0 }    .map { it * 2 }    .take(10)    .toList()println(result) // [4, 8, 12, 20, 24, 28, 32, 36, 40]

Contrairement aux collections classiques, Sequence ne crée pas de listes intermédiaires, ce qui économise de la mémoire lors du traitement de grands volumes de données.



Coroutines : l'asynchrone sans douleur

Le module kotlinx-coroutines est la méthode standard pour travailler avec du code asynchrone en Kotlin. Il remplace les callbacks et RxJava, offrant une syntaxe séquentielle simple.



Exemple simple de coroutine

import kotlinx.coroutines.*

fun main() = runBlocking { val result = async { delay(1000L) "Terminé !" } println("Attente...") println(result.await()) // "Terminé !" après 1 seconde}

Concepts clés :

  • runBlocking — bloque le thread actuel jusqu'à la fin de la coroutine (utilisé dans main).
  • async — lance une coroutine et retourne un Deferred (analogue à Future).
  • await — suspend la coroutine jusqu'à l'obtention du résultat.


Concurrence structurée

fun main() = runBlocking {    launch {        repeat(3) { i ->            delay(500L)            println("Tâche $i terminée")        }    }    println("La coroutine principale continue son travail")}

Grâce à la concurrence structurée, toutes les coroutines enfants se terminent automatiquement lorsque la coroutine parente se termine. Cela évite les fuites de mémoire et rend le code prévisible.



Sérialisation des données (kotlinx.serialization)

Le module kotlinx-serialization permet de convertir des objets Kotlin en JSON, XML, Protobuf et d'autres formats sans utiliser la réflexion. La sérialisation fonctionne à la compilation, ce qui la rend rapide et

Recommendations