Diziler Oluşturma
Koleksiyonlardan ve oluşturuculardan
Diziler Oluşturma, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kotlin Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kotlin Academy kursu toplamda 4 dersten oluşur.
Diziler Oluşturma
Bir Sequence oluşturmanın birkaç yolu vardır: mevcut koleksiyonlardan, öğelerden, bir üretici işleviyle veya bir oluşturucuyla. Bu derste her birini ele alacağız.
Koleksiyondan asSequence ile
En yaygın yaklaşım, verileri tembel olarak işlemek için mevcut bir koleksiyon üzerinde asSequence() çağırmaktır.
fun main() {
val seq = listOf(1, 2, 3, 4).asSequence()
val result = seq.map { it * 2 }.toList()
println(result)
}Öğelerden sequenceOf ile
sequenceOf, sabit bir değer kümesinden doğrudan bir dizi oluşturur.
fun main() {
val seq = sequenceOf("a", "b", "c")
seq.forEach { println(it) }
}generateSequence ile Sonsuz Diziler
generateSequence, bir başlangıç değerinden ve sonraki öğeyi hesaplayan bir işlevden (gerekirse sonsuz) bir dizi oluşturur. Sınırlandırmak için bunu take ile birlikte kullanın.
fun main() {
val powers = generateSequence(1) { it * 2 }
val first5 = powers.take(5).toList()
println(first5)
}generateSequence İşlevini Durdurma
Sonraki öğe işlevi null döndürürse dizi sona erer. Bu, belirli bir koşul karşılanana kadar üretim yapmanızı sağlar.
fun main() {
val countdown = generateSequence(5) { if (it > 1) it - 1 else null }
println(countdown.toList())
}generateSequence İşlevini Başlangıç Değeri Olmadan Kullanma
Sonraki değeri veya null değerini döndüren tek bir üretici lambda aktarabilirsiniz. Bu, girdi akışlarını tembel olarak okumak için kullanışlıdır.
fun main() {
var n = 0
val seq = generateSequence { if (n < 3) n++ else null }
println(seq.toList())
}Dizi Oluşturucusu
sequence { } oluşturucusu, yield (tek değer) ve yieldAll (birçok değer) kullanarak öğeleri zorunlu biçimde üretmenizi sağlar.
fun main() {
val seq = sequence {
yield(1)
yield(2)
yieldAll(listOf(3, 4))
}
println(seq.toList())
}Tembel Üretim
Oluşturucu da tembeldir: yield ifadeleri arasındaki kod yalnızca öğeler çekildikçe çalışır. take ile birlikte kullanarak sonsuz üreticileri güvenli bir şekilde tanımlayabilirsiniz.
fun main() {
val naturals = sequence {
var i = 1
while (true) {
yield(i)
i++
}
}
println(naturals.take(4).toList())
}generateSequence ile Fibonacci
Klasik bir örnek: Durum olarak bir Pair kullanarak Fibonacci sayılarını tembel biçimde üretmek.
fun main() {
val fib = generateSequence(Pair(0, 1)) { Pair(it.second, it.first + it.second) }
.map { it.first }
println(fib.take(8).toList())
}Koleksiyona Geri Dönüştürme
Bir dizi, yalnızca toList(), toSet() veya toMutableList() gibi bir son işlem çağırdığınızda somut bir koleksiyona dönüşür.
fun main() {
val set = sequenceOf(1, 2, 2, 3).toSet()
println(set)
}Oluşturma Yöntemini Seçme
Mevcut veriler için asSequence(), sabit değerler için sequenceOf, hesaplanan seriler için generateSequence ve özel zorunlu üretim için sequence { } oluşturucusunu kullanın.
Kısa Kontrol
generateSequence ne zaman duracağını nasıl bilir?
Özet
Dizileri asSequence(), sequenceOf, generateSequence (başlangıç değeri ve sonraki öğe işleviyle, null değerinde sona erer) ve yield/yieldAll kullanan sequence { } oluşturucusuyla oluşturabilirsiniz. Sırada tembel işlemlerin ara listeleri nasıl önlediğini göreceksiniz.
Sıkça Sorulan Sorular
“Diziler Oluşturma” dersi ücretsiz mi?
Evet — “Diziler Oluşturma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kotlin Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kotlin Academy kursu toplamda 4 dersten oluşur.
“Diziler Oluşturma” dersinde ne öğreneceğim?
Koleksiyonlardan ve oluşturuculardan Kotlin Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Kotlin Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Kotlin Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Diziler Oluşturma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Kotlin Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Kotlin Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Diziler Neden Kullanılır
- Diziler Oluşturma
- Tembel İşlemler
- Diziler ve Koleksiyonlar