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 erstellenfind– 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ülltall { condition }– true, wenn jedes Element die Bedingung erfülltcount { condition }– Anzahl der passenden ElementesumOf { 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/mutableMapOffilter– passende Elemente auswählenmap– Elemente umwandelnsortedBy/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
- Kotlin-Collections
- Grundlagen von RecyclerView
- Click-Ereignisse in RecyclerView
- SharedPreferences
- DataStore Preferences
- Adapter und DiffUtil