Bibliothèque standard Kotlin : aperçu complet
La bibliothèque standard Kotlin (stdlib) est un ensemble d'outils puissants fourni avec le compilateur, offrant des fonctionnalités de base pour le développement quotidien. Contrairement à Java, où de nombreuses opérations nécessitent des bibliothèques externes, Kotlin propose des solutions intégrées pour travailler avec les collections, les chaînes de caractères, les coroutines, la sérialisation et les entrées-sorties de fichiers. Dans cet article, nous allons détailler les modules et fonctions clés de la bibliothèque standard Kotlin avec des exemples pratiques.
1. Types de base et leurs capacités
La bibliothèque inclut des fonctions avancées pour les types primitifs et les chaînes de caractères :
- Types numériques —
Int,Double,Longet leurs extensions (.toInt(),.coerceIn()). - Chaînes de caractères — templates (
"Bonjour, $name"), chaînes multilignes ("""..."""), méthodesreplace(),split(),trimIndent(). - Plages —
1..10,step 2,downTo.
// Exemple de travail avec les chaînes et les plagesfun main() { val name = "Kotlin" val greeting = "Bonjour, $name!" println(greeting) // Bonjour, Kotlin!
for (i in 1..5 step 2) { println(i) // 1, 3, 5 }}2. Collections : List, Set, Map
Kotlin divise les collections en mutables (MutableList, MutableSet, MutableMap) et immutables (List, Set, Map). Principales fonctionnalités :
- Création —
listOf(),setOf(),mapOf(). - Filtrage et transformation —
filter(),map(),flatMap(),groupBy(). - Agrégation —
sum(),count(),reduce(),fold(). - Tri —
sorted(),sortedBy().
// Exemple de travail avec les collectionsfun 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) "pair" else "impair" } println(grouped) // {impair=[1, 3, 5], pair=[2, 4]}}3. Séquences (Sequences)
Pour les calculs paresseux, Kotlin propose Sequence. Cela est particulièrement utile pour travailler avec de grands volumes de données :
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-sécurité et opérateur Elvis
L'une des fonctionnalités clés de Kotlin est la gestion sécurisée de null. La bibliothèque fournit :
- Opérateur Elvis (
?:) — définit une valeur par défaut. - Appel sécurisé (
?.) — évite les NullPointerException. - Fonction let — exécute du code uniquement si l'objet n'est pas null.
fun main() { val name: String? = null val length = name?.length ?: 0 println(length) // 0
name?.let { println("Le nom n'est pas null : $it") }}5. Gestion des fichiers et des flux
La bibliothèque standard inclut des extensions pratiques pour java.io.File :
readText(),writeText()— lecture/écriture de chaînes.readLines()— lecture ligne par ligne.useLines()— gestion sécurisée des flux.copyTo(),
Aussi dans la bibliothèque
Envoi de SMS en Rust : RustSMS — bibliothèque API pour travailler avec des passerelles SMS
Travailler avec Markdown en Java : bibliothèques, analyse et conversion
Travailler avec XML en Go : encoding/xml, bibliothèques et exemples
Sérialisation des objets en Java : guide complet avec exemples
Framework CLI pour Rust : guide complet de développement d'utilitaires