map, filter, forEach
Koleksiyonları lambda'larla dönüştürün.
map, filter, forEach, CoddyKit'te ücretsiz bir Android 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, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.
Koleksiyon İşlemleri
Kotlin koleksiyonları, güçlü yerleşik işlemlerle birlikte gelir. Sürekli kullanacağınız üç işlem map, filter ve forEach'tir.
Bu işlemler, elle döngüler yazmak yerine verileri tek ve anlaşılır bir satırda dönüştürmenizi, seçmenizi ve üzerinde yineleme yapmanızı sağlar.
map Her Öğeyi Dönüştürür
map, her öğeye bir dönüşüm uygulayarak yeni bir liste oluşturur.
Lambda içinde it, geçerli öğeyi ifade eder. Özgün liste değişmez.
fun main() {
val nums = listOf(1, 2, 3)
val doubled = nums.map { it * 2 }
println(doubled)
}map Türleri Değiştirebilir
map işleminin sonucu, girdinin türüyle aynı olmak zorunda değildir.
Burada adlar listesini, adların uzunluklarından oluşan bir listeye dönüştürüyoruz.
fun main() {
val names = listOf("Ada", "Linus")
val lengths = names.map { it.length }
println(lengths)
}filter Eşleşenleri Tutar
filter, lambda'nın true döndürdüğü öğeleri içeren yeni bir liste döndürür.
Burada yalnızca çift sayıları tutuyoruz.
fun main() {
val nums = listOf(1, 2, 3, 4, 5, 6)
val evens = nums.filter { it % 2 == 0 }
println(evens)
}Dizelerde filter
Koşul, Boolean döndüren herhangi bir ifade olabilir. Burada yalnızca uzun kelimeleri tutuyoruz.
Testi geçemeyen öğeler sonuçtan çıkarılır.
fun main() {
val words = listOf("hi", "hello", "hey", "howdy")
val long = words.filter { it.length > 3 }
println(long)
}forEach Bir Eylem Gerçekleştirir
forEach, her öğe için bir kod bloğu çalıştırır ancak yeni bir liste oluşturmaz.
Yazdırma veya günlük kaydı tutma gibi yan etkiler için kullanın.
fun main() {
val fruits = listOf("apple", "banana")
fruits.forEach { println("Fruit: $it") }
}map ve forEach Karşılaştırması
map dönüştürülmüş bir liste döndürür; bu nedenle bir sonuca ihtiyacınız olduğunda kullanın.
forEach kullanışlı bir şey döndürmez; bu yüzden onu yalnızca eylemler için kullanın. Doğru olanı seçmek kodu anlaşılır tutar.
İşlemleri Zincirleme
Bu işlemler koleksiyon döndürür; dolayısıyla bunları birbirine zincirleyebilirsiniz.
Soldan sağa okuyun: önce filter, ardından kalan öğelere map.
fun main() {
val nums = listOf(1, 2, 3, 4, 5, 6)
val result = nums.filter { it % 2 == 0 }.map { it * 10 }
println(result)
}Parametreyi Adlandırma
Özellikle zincirleme işlemlerde, açıklık sağlamak için it yerine lambda parametresine ad verebilirsiniz.
Ok işaretini kullanın: { name -> ... }.
fun main() {
val prices = listOf(10, 25, 5)
val withTax = prices.map { price -> price + price / 10 }
println(withTax)
}forEachIndexed
Konuma da ihtiyacınız olduğunda forEachIndexed kullanın. Bu işlem dizini ve öğeyi iletir.
Böylece bir sayacı elle takip etmeniz gerekmez.
fun main() {
val tasks = listOf("eat", "code", "rest")
tasks.forEachIndexed { i, task ->
println("$i: $task")
}
}Gerçek İşleri Birleştirme
Bu işlemler birlikte veri işlem hatlarını basitçe ifade eder. Burada uzun adların toplam uzunluğunu buluyoruz.
Bu ifade neredeyse doğal İngilizce gibi okunur.
fun main() {
val names = listOf("Ada", "Grace", "Bo")
val total = names.filter { it.length > 2 }.map { it.length }.sum()
println(total)
}Hızlı Kontrol
Koleksiyon işlemleri anlayışınızı test edin.
Özet
map her öğeyi yeni bir listeye dönüştürür, filter bir koşulla eşleşen öğeleri tutar ve forEach her öğe için bir eylem gerçekleştirir.
Koleksiyon döndürdükleri için okunabilir veri işlem hatları oluşturmak üzere bunları zincirleyin.
Sıkça Sorulan Sorular
“map, filter, forEach” dersi ücretsiz mi?
Evet — “map, filter, forEach” 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 Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.
“map, filter, forEach” dersinde ne öğreneceğim?
Koleksiyonları lambda'larla dönüştürün. Android 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.
Android Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Android 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.
“map, filter, forEach” 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 Android Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Android 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
- Listeler ve Değiştirilebilir Listeler
- Haritalar ve Kümeler
- map, filter, forEach
- Lambda'lar ve Üst Düzey İşlevler