0Pricing
Android Academy · Ders

Kotlin Koleksiyonları

List, Set ve Map ile çalışın. Özlü veri dönüşümleri için filter, map, sortedBy, forEach, find, any ve all gibi işlevsel işleçleri kullanın ve işlemleri zincirleyin.

Kotlin Koleksiyonları, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 6 dersinin 1. 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 6 dersten oluşur.

Koleksiyonlara Genel Bakış

Kotlin'in standart kütüphanesi üç temel koleksiyon türü sağlar:

  • List — öğelerin sıralı dizisi (yinelenen öğeler içerebilir)
  • Set — belirli bir sırası olmayan benzersiz öğeler
  • Map — anahtar-değer çiftleri; anahtarlar benzersizdir

Her türün değiştirilemez (salt okunur) ve değiştirilebilir (değiştirilebilir) bir sürümü vardır.

Listeler: listOf ve mutableListOf

Fabrika işlevlerini kullanarak listeler oluşturun:

fun main() {
    // Immutable — cannot add/remove items
    val fruits = listOf("Apple", "Banana", "Cherry")
    println(fruits[0])       // Apple
    println(fruits.size)     // 3

    // Mutable — can modify
    val scores = mutableListOf(10, 20, 30)
    scores.add(40)
    scores.removeAt(0)       // remove index 0
    println(scores)          // [20, 30, 40]
}

Map: Anahtar-Değer Çiftleri

Map'ler oluşturmak için mapOf ve mutableMapOf kullanın. Değerlere anahtarlarıyla erişin:

fun main() {
    val capitals = mapOf(
        "Turkey" to "Ankara",
        "Germany" to "Berlin",
        "Japan" to "Tokyo"
    )

    println(capitals["Turkey"])      // Ankara
    println(capitals["France"])      // null (not found)
    println(capitals.getOrDefault("France", "Unknown")) // Unknown

    // Iterate
    for ((country, city) in capitals) {
        println("$country -> $city")
    }
}

filter — Öğeleri Seçme

filter, yalnızca bir koşulu karşılayan öğeleri içeren yeni bir liste döndürür:

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8)

    val evens = numbers.filter { it % 2 == 0 }
    println(evens)   // [2, 4, 6, 8]

    val names = listOf("Alice", "Bob", "Anna", "Charlie")
    val aNames = names.filter { it.startsWith("A") }
    println(aNames)  // [Alice, Anna]
}

map — Öğeleri Dönüştürme

map her öğeyi dönüştürür ve yeni bir liste döndürür:

fun main() {
    val prices = listOf(10.0, 20.0, 30.0)

    // Apply 10% tax
    val withTax = prices.map { it * 1.1 }
    println(withTax)  // [11.0, 22.0, 33.0]

    val names = listOf("alice", "bob", "carol")
    val upper = names.map { it.uppercase() }
    println(upper)    // [ALICE, BOB, CAROL]
}

sortedBy ve sortedByDescending

Bir listeyi bir özelliğe göre sıralayın:

data class Student(val name: String, val grade: Int)

fun main() {
    val students = listOf(
        Student("Alice", 88),
        Student("Bob", 95),
        Student("Carol", 72)
    )

    val byGrade = students.sortedByDescending { it.grade }
    for (s in byGrade) println("${s.name}: ${s.grade}")
    // Bob: 95
    // Alice: 88
    // Carol: 72
}

forEach ve find

İki kullanışlı koleksiyon işlevi daha:

  • forEach — sonuç oluşturmadan yineleme yapar
  • find — bir koşulu karşılayan ilk öğeyi veya null değerini döndürür

İşlemleri Zincirleme

Kısa veri dönüşümleri için birden çok işlemi zincirleyin:

data class Product(val name: String, val price: Double, val inStock: Boolean)

fun main() {
    val products = listOf(
        Product("Laptop", 999.0, true),
        Product("Mouse", 29.0, false),
        Product("Keyboard", 79.0, true),
        Product("Monitor", 349.0, true)
    )

    // In-stock products under $500, sorted by price
    val result = products
        .filter { it.inStock && it.price < 500 }
        .sortedBy { it.price }
        .map { "${it.name}: ${it.price}" }

    result.forEach { println(it) }
}

any, all, count

Hızlı sonuçlar için toplama işlevleri:

  • any { condition } — en az bir öğe eşleşiyorsa true
  • all { condition } — her öğe eşleşiyorsa true
  • count { condition } — eşleşen öğelerin sayısı
  • sumOf { it.price } — sayısal bir özelliğin toplamı

Hızlı Kontrol

Bir listedeki yalnızca bir koşulu karşılayan öğeleri almak için hangi işlevi kullanırsınız?

Özet: Kotlin Koleksiyonları

Artık Kotlin'de verilerle verimli şekilde çalışabilirsiniz:

  • listOf / mutableListOf, mapOf / mutableMapOf
  • filter — eşleşen öğeleri seçer
  • map — öğeleri dönüştürür
  • sortedBy / sortedByDescending
  • Temiz ve okunabilir veri işlem hatları için işlemleri zincirleyin

Sonraki konu: listeleri RecyclerView ile ekranda gösterme.

Sıkça Sorulan Sorular

“Kotlin Koleksiyonları” dersi ücretsiz mi?

Evet — “Kotlin Koleksiyonları” 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 6 dersten oluşur.

“Kotlin Koleksiyonları” dersinde ne öğreneceğim?

List, Set ve Map ile çalışın. Özlü veri dönüşümleri için filter, map, sortedBy, forEach, find, any ve all gibi işlevsel işleçleri kullanın ve işlemleri zincirleyin. 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, 6 dersinin 1. dersidir.

“Kotlin Koleksiyonları” 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

  1. Kotlin Koleksiyonları
  2. RecyclerView Temelleri
  3. RecyclerView Tıklama Olayları
  4. SharedPreferences
  5. DataStore Tercihleri
  6. Adaptörler ve DiffUtil
← Android Academy Sayfasına Dön