Filtern und Zuordnen
Transformieren Sie Collections
Filtern und Zuordnen ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. 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 Kotlin Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Collections umwandeln
Kotlin-Collections bieten eine große Auswahl an funktionalen Operationen. Zwei der häufigsten sind filter (Elemente auswählen) und map (Elemente umwandeln). Sie geben neue Collections zurück und verändern das Original niemals.
Die filter-Funktion
filter behält nur die Elemente bei, die ein Prädikat erfüllen, und gibt eine neue Liste zurück.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val evens = numbers.filter { it % 2 == 0 }
println(evens)
}filterNot und filterNotNull
filterNot behält die Elemente bei, die NICHT übereinstimmen. filterNotNull entfernt null-Elemente und gibt eine null-freie Liste zurück.
fun main() {
val nums = listOf(1, 2, 3, 4)
println(nums.filterNot { it > 2 })
val withNulls = listOf(1, null, 3, null)
println(withNulls.filterNotNull())
}filterIndexed
filterIndexed stellt Ihnen im Prädikat sowohl den Index als auch den Wert zur Verfügung.
fun main() {
val letters = listOf("a", "b", "c", "d")
val result = letters.filterIndexed { index, _ -> index % 2 == 0 }
println(result)
}Die map-Funktion
map wendet auf jedes Element eine Umwandlung an und gibt eine neue Liste mit den Ergebnissen zurück. Der Ergebnistyp kann sich vom Eingabetyp unterscheiden.
fun main() {
val numbers = listOf(1, 2, 3)
val squares = numbers.map { it * it }
println(squares)
}In einen anderen Typ umwandeln
map kann den Elementtyp ändern, indem beispielsweise Zahlen in Strings umgewandelt werden.
fun main() {
val numbers = listOf(1, 2, 3)
val labels = numbers.map { "Item $it" }
println(labels)
}mapIndexed
mapIndexed stellt neben jedem Element auch den Index bereit, sodass Sie die Position bei der Umwandlung verwenden können.
fun main() {
val fruits = listOf("apple", "banana", "cherry")
val numbered = fruits.mapIndexed { i, fruit -> "${i + 1}. $fruit" }
numbered.forEach { println(it) }
}mapNotNull
mapNotNull wandelt jedes Element um und verwirft alle Ergebnisse, die null sind. Damit lassen sich Umwandlung und Filterung übersichtlich kombinieren.
fun main() {
val strings = listOf("1", "two", "3", "four")
val numbers = strings.mapNotNull { it.toIntOrNull() }
println(numbers)
}filter und map verketten
Diese Operationen lassen sich natürlich kombinieren. Ein häufiges Muster besteht darin, zuerst zu filtern und anschließend die verbleibenden Elemente umzuwandeln.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6)
val result = numbers
.filter { it % 2 == 0 }
.map { it * 10 }
println(result)
}Operationen sind nicht-destruktiv
Sowohl filter als auch map geben vollständig neue Listen zurück. Die ursprüngliche Collection bleibt unverändert, wodurch Ihr Code sicherer und leichter nachvollziehbar wird.
fun main() {
val original = listOf(1, 2, 3)
val doubled = original.map { it * 2 }
println("Original: $original")
println("Doubled: $doubled")
}Filtern und Umwandeln in der Praxis
Zusammen ermöglichen filter und map die deklarative Beschreibung von Datenpipelines: Sie beschreiben, WAS Sie möchten, nicht WIE Sie eine Schleife schreiben. Das ist übersichtlicher als manuelle for-Schleifen mit einer zusätzlichen Indexverwaltung.
Kurzer Check
Was ist der Unterschied zwischen filter und map?
Zusammenfassung
Sie haben gelernt, Elemente mit filter (und seinen Varianten filterNot, filterIndexed, filterNotNull) auszuwählen und sie mit map (sowie mapIndexed und mapNotNull) umzuwandeln. Die Funktionen lassen sich nahtlos verketten und verändern die Quelle niemals. Als Nächstes organisieren Sie Daten durch Gruppieren und Partitionieren.
Häufig gestellte Fragen
Ist die Lektion „Filtern und Zuordnen“ kostenlos?
Ja — der vollständige Text von „Filtern und Zuordnen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Kotlin Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Kotlin Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Filtern und Zuordnen“?
Transformieren Sie Collections Du übst Kotlin 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 Kotlin Academy zu starten?
Keine Vorkenntnisse erforderlich. Kotlin 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 4.
Wie lange dauert die Lektion „Filtern und Zuordnen“?
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 Kotlin Academy-Lektion Code schreiben und ausführen?
Ja. Jede Kotlin 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
- Filtern und Zuordnen
- Gruppieren und Partitionieren
- Aggregation
- Assoziation und Abflachung