forEach, repeat ve forEachIndexed
İşlevsel tarzda yineleme yardımcılarını ve klasik döngülere göre ne zaman avantajlı olduklarını keşfedin.
forEach, repeat ve forEachIndexed, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 3. 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.
İşlevsel Yineleme
for'un yanı sıra Kotlin, üst düzey yineleme seçenekleri sunar: forEach, forEachIndexed ve repeat. Bunlar küçük döngüleri daha ifade edilebilir hâle getirir.
forEach Temelleri
forEach bir lambda alır ve onu her öğe için çalıştırır. Öğe örtük olarak it adıyla adlandırılır.
fun main() {
val items = listOf("a", "b", "c")
items.forEach { println(it) }
}Adlandırılmış Parametreyle forEach
it iyi okunmadığında lambda parametresine daha açıklayıcı bir ad verin.
fun main() {
val users = listOf("Alice", "Bob", "Charlie")
users.forEach { name ->
println("Hello, $name!")
}
}Sabit Yinelemeler için repeat
repeat(n) bloğunu tam olarak n kez çalıştırır. Lambda, yineleme dizinini (0'dan başlayarak) alır.
fun main() {
repeat(5) {
println("Iteration $it")
}
}Yan Etkiler için repeat
Ayraç yazdırma veya bir çağrıyı yeniden deneme gibi basit n kez gerçekleştirilen eylemler için repeat kullanın.
fun main() {
repeat(3) { println("-".repeat(20)) }
}forEachIndexed
forEachIndexed, lambda'ya hem dizini hem de öğeyi sağlar.
fun main() {
val words = listOf("Hello", "Kotlin", "World")
words.forEachIndexed { index, word ->
println("$index: $word")
}
}forEach ve for Karşılaştırması
forEach kısa ve özdür ancak break/continue desteğini kaybeder. Erken çıkmanız gerekiyorsa geleneksel bir for kullanın.
fun main() {
val nums = listOf(1, 2, 3, 4, 5)
// forEach: runs to completion
nums.forEach { print("$it ") }
println()
// for: can break
for (n in nums) {
if (n == 3) break
print("$n ")
}
println()
}forEach'ten Dönüş
forEach içinde etiketli bir return@forEach kullanarak continue davranışını taklit edebilirsiniz.
fun main() {
listOf(1, 2, 3, 4).forEach {
if (it % 2 == 0) return@forEach // skip
println("odd: $it")
}
}Eşleme Üzerinde forEach
Bir eşleme üzerindeki forEach, her Map.Entry değerini it olarak sunar; okunabilirlik için parçalara ayırın.
fun main() {
val scores = mapOf("Alice" to 9, "Bob" to 7)
scores.forEach { (name, score) ->
println("$name -> $score")
}
}repeat'i Diğer Çağrılarla Zincirleme
repeat Unit döndürür; bu nedenle onu işlevsel olarak zincirleyemezsiniz. Yalnızca yan etkiler için kullanın.
fun main() {
var sum = 0
repeat(10) { sum += it }
println("Sum 0..9 = $sum") // 45
}Performans Notu
Büyük koleksiyonlar üzerinde sıkı döngülerde düz for biraz daha hızlıdır; çünkü lambda oluşturmayı önler. Açıklık için forEach kullanmayı tercih edin.
fun main() {
val n = 1_000_000
var sum = 0L
for (i in 1..n) sum += i
println(sum)
}Kısa Kontrol
Lambda'sına hem dizin hem de öğe sağlayan yapı hangisidir?
Özet
forEach: öğe başına bir lambda. forEachIndexed: dizin + öğe. repeat(n): sabit sayıda yineleme yapan döngü. Hiçbiri klasik break desteği sunmaz; erken çıkış için for kullanın.
Sıkça Sorulan Sorular
“forEach, repeat ve forEachIndexed” dersi ücretsiz mi?
Evet — “forEach, repeat ve forEachIndexed” 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.
“forEach, repeat ve forEachIndexed” dersinde ne öğreneceğim?
İşlevsel tarzda yineleme yardımcılarını ve klasik döngülere göre ne zaman avantajlı olduklarını keşfedin. 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 3. dersidir.
“forEach, repeat ve forEachIndexed” 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
- Aralıklar ve Koleksiyonlar Üzerinde for Döngüsü
- while ve do-while: Hangisi Ne Zaman Kullanılır
- forEach, repeat ve forEachIndexed
- break, continue ve Etiketli Dönüşler