CodeBlanks Logo Icon CodeBlanks

Liste döngüsü

for ve forEach ile liste gezinmeyi öğrenirsin.

Liste döngüsü: for ve forEach

Bir listenin tüm elemanlarını gezmek için en doğal yol for (x in list) döngüsüdür. Her döngüde x sıradaki eleman olur. forEach { } ise aynı işi lambda ile yapar.

val cities = listOf("İstanbul", "Ankara", "İzmir")
for (city in cities) {
    println(city)
}

Indekslere de ihtiyacın varsa cities.indices ile 0..size-1 aralığını ya da cities.withIndex() ile indeks-değer çiftlerini gezebilirsin.

forEach, indices ve withIndex

forEach bir lambda alır ve listedeki her eleman için çalıştırır. Lambda'da eleman it olarak bilinir. indices indeks aralığını, withIndex() ise (index, value) çiftlerini döndürür.

cities.forEach { println(it) }
for (i in cities.indices) println(i)
for ((i, c) in cities.withIndex()) println("$i: $c")

Indekse ihtiyaç varsa withIndex() en okunabilir seçenektir; hem konumu hem değeri aynı anda verir.

Uygulama Şehirleri for döngüsüyle yazdır

Bir listOf("İstanbul", "Ankara", "İzmir") oluştur ve for (city in cities) döngüsüyle her şehri ayrı satırda yazdır.

Başlangıç kodu

Main.kt
fun main() {
    val cities = listOf("İstanbul", "Ankara", "İzmir")
    // Her şehri ayrı satırda yazdır
}

Örnek çözüm

Main.kt
fun main() {
    val cities = listOf("İstanbul", "Ankara", "İzmir")
    for (city in cities) {
        println(city)
    }
}

Beklenen çıktı

İstanbul
Ankara
İzmir

Soru ve cevaplar

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

1 Hangisi her elemanı ayrı satırda yazdırır?

  • for (x in list) println(x) Doğru cevap
  • for (x of list) println(x)
  • foreach (x in list) println(x)
  • for (x = 0; x < list; x++) println(x)

Açıklama: Kotlin'de döngü for (x in list) biçimindedir.

2 Boşluğu doldur: for döngüsü

Soru
for (name ____ names) println(name)
Cevap
for (name in names) println(name)

Açıklama: for (name in names) her ismi gezerek yazdırır.

3 Döngü ifadesini kullanımıyla eşleştir

Kavram Anlamı
for (x in list) Her elemanı gezer
list.forEach { } Lambda ile gezer
list.indices 0..size-1 aralığı
list.withIndex() Indeks+değer çiftleri

4 list.withIndex() ne döndürür?

  • Yalnızca indeksler
  • IndexedValue akışı Doğru cevap
  • Yalnızca değerler
  • Boolean

Açıklama: withIndex() IndexedValue çiftleri verir; indeks ve değer birlikte.

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