CodeBlanks Logo Icon CodeBlanks

Özet - Koleksiyon stdlib

windowed, chunked ve zip'i birleştirerek bir veri işleme hattı yazarsın.

Özet - Koleksiyon stdlib

Bu grupta koleksiyon stdlib'in ileri metotlarını gördün: windowed ile kayan pencere, chunked ile parçalama, zip/unzip ile birleştirme/ayırma, scan ile çalışan accumulate ve flatMap/flatten ile düzleştirme.

Bu ders, üçünü birleştiren küçük bir görev içerir: bir listeyi chunked ile bölüp her parçayı sum ile toplayacaksın. Bu kalıp, koleksiyon stdlib'in gücünü bir araya getirir.

Uygulama Özet: chunked ile parça toplamı

main içinde listOf(1, 2, 3, 4, 5, 6).chunked(3) { it.sum() } sonucunu bir değişkene ata ve println ile yazdır.

Başlangıç kodu

Main.kt
// main'de 1..6 listesini chunked(3) ile böl
// her parçanın toplamını al ve yazdır

Örnek çözüm

Main.kt
fun main() {
    val sums = listOf(1, 2, 3, 4, 5, 6).chunked(3) { it.sum() }
    println(sums)
}

Beklenen çıktı

[6, 15]

Soru ve cevaplar

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

1 Çalışan ara sonuçları bir listede görmek için hangi metot kullanılır?

  • reduce
  • fold
  • scan Doğru cevap
  • forEach

Açıklama: scan her ara sonucu bir listede biriktirir.

2 Stdlib metotlarını eşle

Kavram Anlamı
windowed(2) Kayan pencere
chunked(2) Art arda parça
zip(other) Paralel birleştirme
flatMap { } Dönüşüm ve düzleştirme

3 chunked çağrısını tamamla

Soru
val sums = listOf(1, 2, 3, 4).____(2) { it.sum() }
Cevap
val sums = listOf(1, 2, 3, 4).chunked(2) { it.sum() }

Açıklama: chunked(2) art arda ikişerli parçalar verir.

İleri seviye bölümündeki tüm dersler