CodeBlanks Logo Icon CodeBlanks

Array metotları

map, filter, forEach ile dizi işleme öğrenirsin.

map, filter, forEach

map her elemanı dönüştürür, filter koşula uyanları seçer, forEach her eleman için bir işlem yapar. Lambda { } ile yazılır; it elemanı temsil eder.

val nums = intArrayOf(1, 2, 3, 4)
val doubled = nums.map { it * 2 }     // [2, 4, 6, 8]
val even = nums.filter { it % 2 == 0 } // [2, 4]
nums.forEach { println(it) }           // 1, 2, 3, 4

map yeni bir liste döndürür (her eleman dönüştürülür). filter koşulu true olan elemanlardan yeni liste yapar. forEach birim işlem yapar, değer döndürmez.

Bu metotlar lambda (isimsiz fonksiyon) kullanır; it varsayılan parametre adıdır.

Uygulama İki katına çıkar

Bir fun main() yaz. val nums = intArrayOf(1, 2, 3, 4) ile dizi oluştur. val doubled = nums.map { it * 2 } ile her elemanı ikiye katla. println(doubled) ile sonucu yazdır.

Başlangıç kodu

Main.kt
fun main() {
    // map ile iki katına çıkar
}

Örnek çözüm

Main.kt
fun main() {
    val nums = intArrayOf(1, 2, 3, 4)
    val doubled = nums.map { it * 2 }
    println(doubled)
}

Beklenen çıktı

[2, 4, 6, 8]

Metot zincirleme

Bu metotlar zincirlenebilir: nums.filter { ... }.map { ... } önce süzer sonra dönüştürür.

val nums = intArrayOf(1, 2, 3, 4, 5, 6)
val result = nums.filter { it % 2 == 0 }.map { it * 10 }
println(result)  // [20, 40, 60]

Önce çift sayılar (2, 4, 6) süzülür, sonra her biri 10 ile çarpılır (20, 40, 60). Zincir soldan sağa işler.

Zincirleme kodu kısa ve okunaklı tutar; ara değişkenler gerekmez.

Soru ve cevaplar

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

1 arr.map { it * 2 } ne yapar?

  • Diziyi ters çevirir
  • Çift sayıları seçer
  • Her elemanı yazdırır
  • Her elemanı 2 ile çarpar Doğru cevap

Açıklama: map her elemanı dönüştürür; burada 2 ile çarpar.

2 map çağrısını tamamla

Soru
val doubled = nums.____ { it * 2 }
Cevap
val doubled = nums.map { it * 2 }

Açıklama: nums.map { it * 2 } her elemanı ikiye katlar.

3 Metotları eşleştir

Kavram Anlamı
map { it * 2 } Dönüştürür
filter { it > 0 } Süzüp seçer
forEach { println(it) } Her biri için işlem
it Lambda parametresi

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