Kotlin Standardbibliothek: vollständiger Überblick

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist die Kotlin Standardbibliothek?

Die Kotlin Standardbibliothek (kotlin-stdlib) ist eine Sammlung von Modulen, die zum Sprachumfang gehören und dem Entwickler fertige Lösungen für alltägliche Aufgaben bieten. Im Gegensatz zu Java, wo viele Dinge manuell geschrieben oder über externe Bibliotheken eingebunden werden müssen, bietet Kotlin leistungsstarke integrierte Werkzeuge für die Arbeit mit Collections, Strings, Streams, Coroutinen und Serialisierung. Die Bibliothek ist vollständig kompatibel mit Java, erweitert aber dessen Möglichkeiten und macht den Code prägnanter und sicherer.



Hauptmodule der Standardbibliothek

  • kotlin-stdlib — der Kern der Bibliothek: Collections, Ranges, Sequences, Standardfunktionen (let, apply, also, run).
  • kotlinx-coroutines — Unterstützung für asynchrone Programmierung durch Coroutinen.
  • kotlinx-serialization — Serialisierung/Deserialisierung in JSON, Protobuf und andere Formate.
  • kotlin-test — Werkzeuge für Modultests.
  • kotlin-reflect — Reflexion und Arbeit mit Typen zur Laufzeit.


Collections und Sequences

Eine der größten Stärken von Kotlin ist die Arbeit mit Collections. Die Bibliothek bietet sowohl veränderliche (mutable) als auch unveränderliche (immutable) Collections. Alle grundlegenden Operationen (Filtern, Transformieren, Gruppieren) sind als Erweiterungsfunktionen implementiert.



Beispiel: Arbeiten mit Listen

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]

In diesem Beispiel verwenden wir eine Aufrufkette: Filtern, Transformieren und Sortieren. Alle Operationen werden bis zum Aufruf einer terminalen Operation (in diesem Fall der Ausgabe) lazy ausgeführt. Für große Datenmengen wird die Verwendung von Sequence empfohlen.



Sequences für lazy Berechnungen

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]

Im Gegensatz zu normalen Collections erzeugt Sequence keine Zwischenlisten, was bei der Arbeit mit großen Datenmengen Speicher spart.



Coroutinen: Asynchronität ohne Schmerz

Das Modul kotlinx-coroutines ist der Standardweg für asynchronen Code in Kotlin. Es ersetzt Callbacks und RxJava und bietet eine einfache, sequenzielle Syntax.



Einfaches Coroutinen-Beispiel

import kotlinx.coroutines.*

fun main() = runBlocking { val result = async { delay(1000L) "Fertig!" } println("Warten...") println(result.await()) // "Fertig!" nach 1 Sekunde}

Schlüsselkonzepte:

  • runBlocking — blockiert den aktuellen Thread bis zum Abschluss der Coroutine (wird in main verwendet).
  • async — startet eine Coroutine und gibt ein Deferred zurück (Analogon zu Future).
  • await — pausiert die Coroutine, bis das Ergebnis vorliegt.


Strukturierte Nebenläufigkeit

fun main() = runBlocking {    launch {        repeat(3) { i ->            delay(500L)            println("Aufgabe $i abgeschlossen")        }    }    println("Haupt-Coroutine arbeitet weiter")}

Dank strukturierter Nebenläufigkeit werden alle untergeordneten Coroutinen automatisch abgeschlossen, wenn die übergeordnete Coroutine beendet wird. Dies verhindert Speicherlecks und macht den Code vorhersagbar.



Datenserialisierung (kotlinx.serialization)

Das Modul kotlinx-serialization ermöglicht die Konvertierung von Kotlin-Objekten in JSON, XML, Protobuf und andere Formate ohne Verwendung von Reflexion. Die Serialisierung erfolgt zur Kompilierzeit, was sie schnell und

Empfehlungen