Öğelere Erişme: get, first, last, getOrNull
Dizin tabanlı ve işlevsel erişim araçlarını kullanarak öğeleri alın.
Öğelere Erişme: get, first, last, getOrNull, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
Erişmenin Birçok Yolu
Kotlin, öğeleri okumanız için çeşitli yollar sunar: dizine göre ([], get), konuma göre (first, last) ve güvenli biçimde (getOrNull, firstOrNull).
[] ile Dizin Erişimi
Köşeli parantez söz dizimi, get(index) için kısa gösterimdir. Dizin geçersizse IndexOutOfBoundsException fırlatır.
fun main() {
val items = listOf("a", "b", "c")
println(items[0]) // a
println(items[2]) // c
}get ve []
list.get(i) ile list[i] birbirinin aynısıdır; söz dizimleri farklı, davranışları aynıdır.
fun main() {
val items = listOf(10, 20, 30)
println(items.get(1)) // 20
println(items[1]) // 20
}Güvenli Erişim için getOrNull
getOrNull(i), dizin aralık dışındaysa hata fırlatmak yerine null döndürür.
fun main() {
val items = listOf("x", "y")
println(items.getOrNull(0)) // x
println(items.getOrNull(5)) // null
}Varsayılan Değerle getOrElse
getOrElse(i) { default }, dizin geçersizse varsayılan değeri tembel biçimde hesaplar.
fun main() {
val items = listOf(1, 2, 3)
println(items.getOrElse(10) { -1 }) // -1
println(items.getOrElse(1) { -1 }) // 2
}first ve last
first() ve last() karşılık gelen öğeleri döndürür; liste boşsa ikisi de hata fırlatır.
fun main() {
val nums = listOf(5, 8, 12)
println(nums.first()) // 5
println(nums.last()) // 12
}firstOrNull / lastOrNull
...OrNull seçenekleri, boş listelerde hata fırlatmak yerine null döndürür; bu çok daha güvenlidir.
fun main() {
val empty: List<Int> = emptyList()
println(empty.firstOrNull()) // null
println(empty.lastOrNull()) // null
}Koşul Sürümleri
first { predicate } koşulla eşleşen ilk öğeyi döndürür; find { predicate }, firstOrNull { predicate } işlevinin null döndüren eşdeğeridir.
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)
}Eşleme Değerlerine Erişme
Eşlemeler aynı [] söz dizimini kullanır, ancak bu söz dizimi null değer döndürebilir. getValue(key), anahtar eksikse hata fırlatır; getOrDefault ise geri dönüş değeri sağlar.
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 ve elementAtOrNull
Kümeler ve dizin desteği olmayan diğer koleksiyonlar da elementAt(i) ve bunun OrNull seçeneğini sunar.
fun main() {
val s = setOf("a", "b", "c")
println(s.elementAt(1)) // b
println(s.elementAtOrNull(10)) // null
}Doğru Erişim Yöntemini Seçme
Dizinin geçerli olduğunu kanıtlayamadığınız sürece güvenli seçenekleri (getOrNull, firstOrNull, getOrDefault) tercih edin. İstisnalar maliyetlidir ve ele alınmaları kolayca unutulabilir.
fun headOf(list: List<Int>): Int? = list.firstOrNull()
fun main() {
println(headOf(listOf(1, 2, 3))) // 1
println(headOf(emptyList())) // null
}Hızlı Kontrol
Dizin aralık dışındayken hata fırlatmak yerine null döndüren erişim yöntemi hangisidir?
Özet
Doğrudan erişim için []/get kullanın; hata durumunda bunlar hata fırlatır. Sınırlar geçersiz olabileceğinde getOrNull, firstOrNull, lastOrNull, getOrDefault ve getOrElse seçeneklerini tercih edin. Eşlemelerde null döndürebilen erişim için [], hata fırlatan erişim için getValue kullanılır.
Sıkça Sorulan Sorular
“Öğelere Erişme: get, first, last, getOrNull” dersi ücretsiz mi?
Evet — “Öğelere Erişme: get, first, last, getOrNull” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“Öğelere Erişme: get, first, last, getOrNull” dersinde ne öğreneceğim?
Dizin tabanlı ve işlevsel erişim araçlarını kullanarak öğeleri alın. Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Öğelere Erişme: get, first, last, getOrNull” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- listOf, setOf, mapOf: Salt Okunur Koleksiyonlar
- mutableListOf, mutableMapOf: Değiştirilebilir Oluşturucular
- Öğelere Erişme: get, first, last, getOrNull
- Standart Kütüphaneyle Koleksiyonları Yineleme ve Dönüştürme