chunked
- Kotlin kursu
- İleri seviye
- Ders 56/83
- 5 dk
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'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 chunked çağrısını tamamla
val chunks = listOf(1, 2, 3, 4, 5).____(2)
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 |