CodeBlanks Logo Icon CodeBlanks

Map döngüsü

for ile map üzerinde gezinmeyi öğrenirsin.

Map döngüsü: for ile gezme

Bir map'in tüm çiftlerini gezmek için for ((k, v) in map) döngüsünü kullanırsın. Burada k anahtar, v değer olur. Yalnızca anahtarları ya da değerleri gezmek için map.keys ya da map.values kullanırsın.

val ages = mapOf("Ayşe" to 25, "Mert" to 30)
for ((name, age) in ages) {
    println("$name: $age")
}

Bu yapısal döngü (destructuring), her Entry'yi otomatik olarak key ve value bileşenlerine ayırır.

forEach ve entry yapısı

forEach { } lambda ile her çifti gezer. Lambda'da eleman bir Entry<K, V> olur; .key ve .value alanlarıyla bileşenlerine ulaşırız.

ages.forEach { entry ->
    println("${entry.key} = ${entry.value}")
}
// ya da kısa yol:
ages.forEach { println("${it.key} = ${it.value}") }

it, lambda'nın tek parametresinin otomatik adıdır; bu yüzden tek parametreli lambda'lerde isim vermek isteğe bağlıdır.

Uygulama Şehir-nüfus çiftlerini yazdır

mapOf("İstanbul" to 15, "Ankara" to 5) oluştur. for ((city, pop) in pops) döngüsüyle her çifti "$city: $pop milyon" biçiminde ayrı satırda yazdır.

Başlangıç kodu

Main.kt
fun main() {
    val pops = mapOf("İstanbul" to 15, "Ankara" to 5)
    // Her şehir-nüfus çiftini "şehir: nüfus milyon" biçiminde yazdır
}

Örnek çözüm

Main.kt
fun main() {
    val pops = mapOf("İstanbul" to 15, "Ankara" to 5)
    for ((city, pop) in pops) {
        println("$city: $pop milyon")
    }
}

Beklenen çıktı

İstanbul: 15 milyon
Ankara: 5 milyon

Soru ve cevaplar

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

1 Boşluğu doldur: map döngüsü

Soru
for ((k, v) ____ map) println("$k = $v")
Cevap
for ((k, v) in map) println("$k = $v")

Açıklama: for ((k, v) in map) her çifti gezer.

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

Kavram Anlamı
for ((k, v) in map) Anahtar-değer çiftini gezer
for (k in map.keys) Yalnızca anahtarları gezer
for (v in map.values) Yalnızca değerleri gezer
map.entries Tüm Entry çiftleri

3 for (x in map) — x ne tür olur?

  • Exception
  • Yalnızca anahtar
  • Yalnızca değer
  • Entry<K, V> Doğru cevap

Açıklama: Map üzerinde for döngüsünde her eleman bir Entry<K, V> olur.

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