0Pricing
Android Academy · Lektion

Kotlin-Collections

Arbeiten Sie mit List, Set und Map. Verwenden Sie funktionale Operatoren wie filter, map, sortedBy, forEach, find, any und all und verketten Sie Vorgänge für prägnante Datentransformationen.

Kotlin-Collections ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 6. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 6 Lektionen.

Übersicht über Collections

Die Kotlin-Standardbibliothek stellt drei wichtige Collection-Typen bereit:

  • List – geordnete Folge von Elementen (Duplikate sind möglich)
  • Set – eindeutige Elemente ohne bestimmte Reihenfolge
  • Map – Schlüssel-Wert-Paare, wobei Schlüssel eindeutig sind

Für jeden Typ gibt es eine immutable Variante (nur lesbar) und eine mutable Variante (kann geändert werden).

Listen: listOf vs mutableListOf

Erstellen Sie Listen mithilfe von Factory-Funktionen:

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Map: Schlüssel-Wert-Paare

Verwenden Sie mapOf und mutableMapOf, um Maps zu erstellen. Greifen Sie über den Schlüssel auf Werte zu:

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter – Elemente auswählen

filter gibt eine neue Liste zurück, die nur Elemente enthält, die eine Bedingung erfüllen:

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map – Elemente umwandeln

map wandelt jedes Element um und gibt eine neue Liste zurück:

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy und sortedByDescending

Sortieren Sie eine Liste nach einer Eigenschaft:

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach und find

Zwei weitere nützliche Collection-Funktionen:

  • forEach – durchlaufen, ohne ein Ergebnis zu erstellen
  • find – gibt das erste Element zurück, das eine Bedingung erfüllt, oder null

Operationen verketten

Verketten Sie mehrere Operationen, um Daten kompakt umzuwandeln:

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all, count

Aggregatfunktionen für schnelle Ergebnisse:

  • any { condition } – true, wenn mindestens ein Element die Bedingung erfüllt
  • all { condition } – true, wenn jedes Element die Bedingung erfüllt
  • count { condition } – Anzahl der passenden Elemente
  • sumOf { it.price } – Summe einer numerischen Eigenschaft

Kurze Überprüfung

Welche Funktion würden Sie verwenden, um nur die Elemente einer Liste zu erhalten, die eine Bedingung erfüllen?

Zusammenfassung: Kotlin-Collections

Sie können nun effizient mit Daten in Kotlin arbeiten:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter – passende Elemente auswählen
  • map – Elemente umwandeln
  • sortedBy / sortedByDescending
  • Operationen zu übersichtlichen, gut lesbaren Datenpipelines verketten

Als Nächstes: Listen mit RecyclerView auf dem Bildschirm anzeigen.

Häufig gestellte Fragen

Ist die Lektion „Kotlin-Collections“ kostenlos?

Ja — der vollständige Text von „Kotlin-Collections“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 6 Lektionen.

Was lerne ich in „Kotlin-Collections“?

Arbeiten Sie mit List, Set und Map. Verwenden Sie funktionale Operatoren wie filter, map, sortedBy, forEach, find, any und all und verketten Sie Vorgänge für prägnante Datentransformationen. Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 6.

Wie lange dauert die Lektion „Kotlin-Collections“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Kotlin-Collections
  2. Grundlagen von RecyclerView
  3. Click-Ereignisse in RecyclerView
  4. SharedPreferences
  5. DataStore Preferences
  6. Adapter und DiffUtil
← Zurück zu Android Academy