CodeBlanks Logo Icon CodeBlanks

map ve filter

map ve filter ile koleksiyon dönüştürme öğrenirsin.

map ve filter

map bir listenin her elemanına bir dönüşüm uygular ve yeni bir liste döndürür. Örnek: numbers.map { it * 2 } her sayıyı ikiye katlar. Orijinal liste değişmez.

filter bir koşulu sağlayan elemanları seçer. Örnek: numbers.filter { it > 5 } yalnızca beşten büyük sayıları alır. Her iki fonksiyon da lambda alır; it aktif elemanı temsil eder. Zincirleme kullanılabilir: önce map ile dönüştür, sonra filter ile daralt.

filter ve koşul

filter bir lambda alır ve lambdanın true döndürdüğü elemanları yeni listeye koyar. Koşul her zaman Boolean döndürmelidir. Örnek: numbers.filter { it % 2 == 0 } çift sayıları seçer.

Boş bir listede filter yine boş liste döndürür; hata vermez. filterNotNull ise null olmayan elemanları alır. map ve filter birlikte kullanıldığında önce dönüştürme sonra seçim yapılır; sıra önemlidir çünkü her adım yeni bir liste üretir.

Uygulama map ve filter ile dönüşüm

val numbers = listOf(1, 2, 3, 4, 5) tanımla. Önce map { it * 2 } ile her sayıyı ikiye katla, sonra filter { it > 5 } ile beşten büyük olanları seç ve sonucu println ile yazdır.

Başlangıç kodu

Main.kt
fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    // map ile ikiye katla, filter ile beşten büyükleri seç, println ile yazdır
}

Örnek çözüm

Main.kt
fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    val result = numbers.map { it * 2 }.filter { it > 5 }
    println(result)
}

Beklenen çıktı

[6, 8, 10]

Soru ve cevaplar

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

1 numbers.map { it * 2 } ne döndürür?

  • İlk eleman
  • Koşulu sağlayan elemanlar
  • Tek bir toplam değer
  • Her elemanı ikiye katlayan yeni liste Doğru cevap

Açıklama: map her elemana dönüşüm uygulayıp yeni liste verir.

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

Soru
numbers.____ { it * 2 }
Cevap
numbers.map { it * 2 }

Açıklama: map her elemanı ikiye katlar.

3 map ve filter ifadelerini eşle

Kavram Anlamı
map Dönüştürür
filter Seçer
{ it * 2 } İki katı
{ it > 5 } Beşten büyük

Orta seviye bölümündeki tüm dersler