CodeBlanks Logo Icon CodeBlanks

Liste erişimi

get, indexOf, subList ile liste erişimini öğrenirsin.

Liste erişimi: get, indexOf, subList

Bir listenin elemanına ulaşmanın birkaç yolu vardır. get(i) (ya da [i]) indeksteki elemanı verir. indexOf(x) x'in ilk görüldüğü indeksi döndürür; bulunamazsa -1. subList(from, to) ise [from, to) aralığını yeni liste olarak verir.

val fruits = listOf("elma", "muz", "kiraz", "üzüm")
fruits.get(0)              // "elma"
fruits.indexOf("muz")      // 1
fruits.subList(1, 3)       // [muz, kiraz]

Indeksler 0'dan başlar ve size - 1'de biter. Aralığın sonu (to) dahil değildir; bu nedenle subList(1, 3) 1 ve 2 indekslerini alır.

subList'in aralığı: [from, to)

subList(from, to) çağrısı from indeksini dahil eder, to indeksini dahil etmez. Yani subList(1, 3) size 1 ve 2 indekslerini verir; 3 dahil değildir.

val f = listOf("a", "b", "c", "d", "e")
val middle = f.subList(1, 4)  // [b, c, d]

Bu yarım-açık (half-open) aralık geleneği Kotlin'in 1..4 (kapalı) ve 1 until 4 (açık) aralıklarıyla tutarlıdır. Indeks hesap yaparken kolaylık sağlar.

Uygulama İlk meyveyi, indeksi ve alt listeyi yazdır

Bir listOf("elma", "muz", "kiraz", "üzüm") oluştur. get(0) ile ilk meyveyi first'e, indexOf("muz") ile indeksi i'ye, subList(1, 3) ile alt listeyi al ve her birini println ile ayrı satırda yazdır.

Başlangıç kodu

Main.kt
fun main() {
    val fruits = listOf("elma", "muz", "kiraz", "üzüm")
    // İlk meyveyi al, "muz" indeksini bul, 1..3 arası alt listeyi yazdır
}

Örnek çözüm

Main.kt
fun main() {
    val fruits = listOf("elma", "muz", "kiraz", "üzüm")
    val first = fruits.get(0)
    val i = fruits.indexOf("muz")
    println(first)
    println(i)
    println(fruits.subList(1, 3))
}

Beklenen çıktı

elma
1
[muz, kiraz]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Erişim ifadesini sonucuyla eşleştir

Kavram Anlamı
get(0) İlk eleman
indexOf(x) x'in konumu (-1 yoksa)
subList(1, 3) 1 ve 2 indeksleri
size - 1 Son indeks

2 list.indexOf("yok") ne döner?

  • 0
  • Exception fırlatır
  • null
  • -1 Doğru cevap

Açıklama: indexOf bulamazsa -1 döner; null ya da exception vermez.

3 Boşluğu doldur: ilk elemanı al

Soru
val first = fruits.____(0)
Cevap
val first = fruits.get(0)

Açıklama: fruits.get(0) ilk meyveyi verir.

Başlangıç bölümündeki tüm dersler