Elementzugriff: get, first, last, getOrNull
Rufen Sie Elemente mithilfe indexbasierter und funktionaler Zugriffsfunktionen ab.
Elementzugriff: get, first, last, getOrNull ist eine kostenlose Kotlin Academy-Lektion auf CoddyKit. Dies ist Lektion 3 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.
Viele Möglichkeiten zum Abrufen
Kotlin bietet mehrere Möglichkeiten, Elemente zu lesen: nach Index ([], get), nach Position (first, last) und sicher (getOrNull, firstOrNull).
Zugriff per Index mit []
Die Klammersyntax ist eine Kurzform für get(index). Bei einem ungültigen Index wird IndexOutOfBoundsException ausgelöst.
fun main() {
val items = listOf("a", "b", "c")
println(items[0]) // a
println(items[2]) // c
}get und [] im Vergleich
list.get(i) ist identisch mit list[i] – andere Syntax, dasselbe Verhalten.
fun main() {
val items = listOf(10, 20, 30)
println(items.get(1)) // 20
println(items[1]) // 20
}Sicherer Zugriff mit getOrNull
getOrNull(i) gibt null zurück, anstatt eine Ausnahme auszulösen, wenn der Index außerhalb des gültigen Bereichs liegt.
fun main() {
val items = listOf("x", "y")
println(items.getOrNull(0)) // x
println(items.getOrNull(5)) // null
}getOrElse mit einem Standardwert
getOrElse(i) { default } berechnet einen Standardwert erst bei Bedarf, wenn der Index ungültig ist.
fun main() {
val items = listOf(1, 2, 3)
println(items.getOrElse(10) { -1 }) // -1
println(items.getOrElse(1) { -1 }) // 2
}first und last
first() und last() geben die entsprechenden Elemente zurück; bei einer leeren Liste lösen beide eine Ausnahme aus.
fun main() {
val nums = listOf(5, 8, 12)
println(nums.first()) // 5
println(nums.last()) // 12
}firstOrNull / lastOrNull
Die Varianten ...OrNull geben bei leeren Listen null zurück, anstatt eine Ausnahme auszulösen – das ist deutlich sicherer.
fun main() {
val empty: List<Int> = emptyList()
println(empty.firstOrNull()) // null
println(empty.lastOrNull()) // null
}Varianten mit Prädikat
first { predicate } gibt das erste passende Element zurück; find { predicate } ist der nullable Alias für firstOrNull { predicate }.
fun main() {
val nums = listOf(3, 7, 8, 11)
println(nums.first { it > 5 }) // 7
println(nums.firstOrNull { it > 100 }) // null
println(nums.find { it > 100 }) // null (same)
}Auf Map-Werte zugreifen
Maps verwenden dieselbe []-Syntax, geben damit aber einen nullable Wert zurück. getValue(key) löst eine Ausnahme aus, wenn der Schlüssel fehlt; getOrDefault stellt einen Ersatzwert bereit.
fun main() {
val ages = mapOf("Alice" to 30, "Bob" to 25)
println(ages["Alice"]) // 30
println(ages["Charlie"]) // null
println(ages.getOrDefault("Z", 0)) // 0
}elementAt und elementAtOrNull
Mengen und andere Sammlungen ohne Indexzugriff bieten ebenfalls elementAt(i) und die entsprechende OrNull-Variante.
fun main() {
val s = setOf("a", "b", "c")
println(s.elementAt(1)) // b
println(s.elementAtOrNull(10)) // null
}Den passenden Zugriff wählen
Bevorzugen Sie die sicheren Varianten (getOrNull, firstOrNull, getOrDefault), es sei denn, Sie können beweisen, dass der Index gültig ist. Ausnahmen sind aufwendig und werden leicht nicht behandelt.
fun headOf(list: List<Int>): Int? = list.firstOrNull()
fun main() {
println(headOf(listOf(1, 2, 3))) // 1
println(headOf(emptyList())) // null
}Kurze Überprüfung
Welcher Zugriff gibt null zurück, anstatt eine Ausnahme auszulösen, wenn der Index außerhalb des gültigen Bereichs liegt?
Zusammenfassung
Verwenden Sie []/get für den direkten Zugriff; bei einem Fehler wird eine Ausnahme ausgelöst. Bevorzugen Sie getOrNull, firstOrNull, lastOrNull, getOrDefault und getOrElse, wenn die Grenzen ungültig sein können. Maps verwenden [] für nullable Werte und getValue, wenn eine Ausnahme ausgelöst werden soll.
Häufig gestellte Fragen
Ist die Lektion „Elementzugriff: get, first, last, getOrNull“ kostenlos?
Ja — der vollständige Text von „Elementzugriff: get, first, last, getOrNull“ 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 „Elementzugriff: get, first, last, getOrNull“?
Rufen Sie Elemente mithilfe indexbasierter und funktionaler Zugriffsfunktionen ab. 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 3 von 4.
Wie lange dauert die Lektion „Elementzugriff: get, first, last, getOrNull“?
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
- listOf, setOf, mapOf: Read-only-Collections
- mutableListOf, mutableMapOf: Builder für veränderliche Collections
- Elementzugriff: get, first, last, getOrNull
- Collections mit der Standardbibliothek durchlaufen und umwandeln