0Pricing
Kotlin Academy · Ders

Koleksiyonlarda filter, map ve find

Standart kütüphane işlevlerini kullanarak koleksiyonları dönüştürmek ve filtrelemek için lambda ifadelerini uygulayın.

Koleksiyonlarda filter, map ve find, CoddyKit'te ücretsiz bir Kotlin Academy dersidir. Bu, 4 dersinin 4. 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.

Üç Temel İşlev

Filtreleme, bir koşulla eşleşen öğeleri korur. Eşleme, her öğeyi dönüştürür. Bulma, eşleşen ilk öğeyi (veya null) döndürür. Birlikte koleksiyon işlemenin büyük bölümünü karşılarlar.

filter Temelleri

filter, yalnızca koşulun doğru olduğu öğeleri içeren yeni bir liste döndürür.

fun main() {
    val nums = listOf(1, 2, 3, 4, 5, 6)
    val evens = nums.filter { it % 2 == 0 }
    println(evens) // [2, 4, 6]
}

map Temelleri

map, her öğenin lambda tarafından dönüştürüldüğü, aynı boyutta yeni bir liste döndürür.

fun main() {
    val nums = listOf(1, 2, 3)
    val squares = nums.map { it * it }
    println(squares) // [1, 4, 9]
}

find Temelleri

find, koşulla eşleşen ilk öğeyi, eşleşme yoksa null değerini döndürür.

fun main() {
    val words = listOf("apple", "banana", "cherry")
    val match = words.find { it.startsWith("b") }
    println(match) // banana
}

filter ve map'i Zincirleme

Anlatımı güçlü işlem hatları oluşturmak için bunları nokta sözdizimiyle birleştirin.

fun main() {
    val nums = listOf(1, 2, 3, 4, 5)
    val result = nums.filter { it % 2 == 1 }.map { it * 10 }
    println(result) // [10, 30, 50]
}

Veri Sınıflarını Filtreleme

filter ve map, veri sınıfı örneklerinden oluşan koleksiyonlarda özellikle kullanışlıdır.

data class User(val name: String, val age: Int)
fun main() {
    val users = listOf(User("Ana", 17), User("Ben", 25), User("Cal", 31))
    val adultNames = users.filter { it.age >= 18 }.map { it.name }
    println(adultNames) // [Ben, Cal]
}

find ve first Karşılaştırması

find, null olabilir bir değer döndürür; first { ... } eşleşme yoksa hata fırlatır. İsteğe bağlı eşleşmeler için find kullanın.

fun main() {
    val nums = listOf(1, 2, 3)
    println(nums.find { it > 10 })  // null
    // nums.first { it > 10 }       // throws NoSuchElementException
    println(nums.firstOrNull { it > 10 }) // null (alias of find)
}

filterNot ve filterNotNull

filterNot, koşulu tersine çevirir. filterNotNull, null olabilir değerlerden oluşan bir listedeki null girdileri kaldırır.

fun main() {
    val nums = listOf(1, 2, 3, 4)
    println(nums.filterNot { it % 2 == 0 }) // [1, 3]
    val maybe: List<String?> = listOf("a", null, "b", null, "c")
    println(maybe.filterNotNull()) // [a, b, c]
}

mapNotNull

mapNotNull, dönüştürme işleminden sonra null değerleri kaldırır; ayrıştırma için kullanışlıdır.

fun main() {
    val raw = listOf("1", "two", "3", "four")
    val numbers = raw.mapNotNull { it.toIntOrNull() }
    println(numbers) // [1, 3]
}

Gerçek Yaşamdan İşlem Hattı

filter, map ve son bir indirgeme işlemini birleştiren küçük bir örnek.

data class Product(val name: String, val price: Double, val inStock: Boolean)
fun main() {
    val products = listOf(
        Product("Pen", 1.0, true),
        Product("Book", 12.0, false),
        Product("Lamp", 25.0, true)
    )
    val total = products
        .filter { it.inStock }
        .map { it.price }
        .sum()
    println("Available total: $total") // 26.0
}

İşlemler Arasında Seçim Yapma

Bir alt küme istediğinizde filtreleme, dönüştürme için eşleme, tek bir isteğe bağlı eşleşme için bulma kullanın; gerektiğinde bunları zincirleyin.

fun main() {
    val words = listOf("alpha", "beta", "gamma", "delta")
    println(words.filter { it.length == 5 })       // [alpha, gamma, delta]
    println(words.map { it.uppercase() })           // [ALPHA, BETA, GAMMA, DELTA]
    println(words.find { it.endsWith("ta") })       // beta
}

Kısa Denetim

Hangi işlev, lambda tarafından dönüştürülmüş öğeleri içeren yeni bir koleksiyon döndürür?

Özet

Filtreleme seçer, eşleme dönüştürür, bulma ilk eşleşmeyi (veya null) bulur. Bunları işlem hatlarında serbestçe birleştirin; isteğe bağlı değerleri işlerken mapNotNull ve filterNotNull işlevlerini kullanın.

Sıkça Sorulan Sorular

“Koleksiyonlarda filter, map ve find” dersi ücretsiz mi?

Evet — “Koleksiyonlarda filter, map ve find” 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.

“Koleksiyonlarda filter, map ve find” dersinde ne öğreneceğim?

Standart kütüphane işlevlerini kullanarak koleksiyonları dönüştürmek ve filtrelemek için lambda ifadelerini uygulayın. 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 4. dersidir.

“Koleksiyonlarda filter, map ve find” 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

  1. Lambda Nedir? Söz Dizimi ve Türleri
  2. İşlevlere Lambda Aktarma
  3. it: Örtük Parametre
  4. Koleksiyonlarda filter, map ve find
← Kotlin Academy Sayfasına Dön