CodeBlanks Logo Icon CodeBlanks

chunked

chunked ile parçalama öğrenirsin.

chunked

chunked, bir koleksiyonu art arda gelen, üst üste binmeyen parçalara böler. windowed'dan farkı pencerelerin kaymamasıdır.

Örnek: listOf(1, 2, 3, 4, 5).chunked(2) ifadesi [[1, 2], [3, 4], [5]] döndürür. Son parça eksik olabilir. chunked(2) { it.sum() } ile her parçayı bir değere dönüştürebilirsin. Sayfalama ve gruplama için idealdir.

chunked transform

chunked'a lambda verirsen her parça için bir dönüşüm yapılır. Sonuç bir liste olarak döner; ara List oluşturmaz.

Örnek: listOf(1, 2, 3, 4, 5, 6).chunked(3) { it.joinToString("") }. Bu, ["123", "456"] döndürür. joinToString ile her parçayı string'e çevirirsin. Bu kalıp, sayıları gruplandırıp dizgiye dönüştürmek için kullanışlıdır.

Uygulama chunked ile grup 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 chunked çağrısını tamamla

Soru
val chunks = listOf(1, 2, 3, 4, 5).____(2)
Cevap
val chunks = listOf(1, 2, 3, 4, 5).chunked(2)

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

2 listOf(1, 2, 3, 4, 5).chunked(2) çağrısı ne döndürür?

  • [1, 2, 3, 4, 5]
  • [[1, 2], [2, 3], [3, 4], [4, 5]]
  • [[1, 2], [3, 4], [5]] Doğru cevap
  • [[1, 2, 3, 4, 5]]

Açıklama: chunked art arda parçalar; son parça eksik olabilir.

3 chunked parçalarını eşle

Kavram Anlamı
chunked(2) Parça boyutu
[[1, 2], [3, 4], [5]] Sonuç
chunked { } Dönüşüm
son parça eksik Özellik

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