Özet - Koleksiyon stdlib
- Kotlin kursu
- İleri seviye
- Ders 60/83
- 5 dk
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'de 1..6 listesini chunked(3) ile böl
// her parçanın toplamını al ve yazdırÖrnek çözüm
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
val sums = listOf(1, 2, 3, 4).____(2) { it.sum() }
val sums = listOf(1, 2, 3, 4).chunked(2) { it.sum() }
Açıklama: chunked(2) art arda ikişerli parçalar verir.