0Pricing
Kotlin Academy · Ders

Koleksiyonlarda Veri Sınıfları

Haritalarda ve kümelerde kullanın

Koleksiyonlarda Veri Sınıfları, 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.

Veri Sınıfları Koleksiyonlarla Buluşuyor

Veri sınıfları değere dayalı equals ve hashCode işlevlerine sahip olduğundan koleksiyonların içinde kusursuz biçimde çalışırlar.

Bu derste veri sınıflarının listelerde, kümelerde ve eşlemelerde nasıl çalıştığı gösterilir.

Listedeki Veri Sınıfları

Veri nesnelerini bir listede saklayın ve diğer öğeler gibi üzerlerinde yineleme yapın.

Okunabilir toString işlevleri yazdırmayı kolaylaştırır.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("Alice", 30), User("Bob", 25))
    for (u in users) println(u)
}

contains Değere Göre Çalışır

equals değerleri karşılaştırdığı için contains, farklı bir örnek olsa bile eşit bir nesneyi bulur.

Tam olarak aynı başvuruyu kullanmanız gerekmez.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("Alice", 30))
    println(users.contains(User("Alice", 30)))
}

Kümeyle Yinelenenleri Kaldırma

Kümeler, equals ve hashCode kullanarak yinelenenleri reddeder.

Aynı değerlere sahip iki veri nesnesi aynı öğe kabul edilir.

data class Point(val x: Int, val y: Int)

fun main() {
    val set = setOf(Point(1, 1), Point(1, 1), Point(2, 2))
    println(set.size)
}

Eşleme Anahtarı Olarak Veri Sınıfları

Aramalar değer eşitliğine dayandığı için veri sınıfı mükemmel bir eşleme anahtarıdır.

Bir anahtar nesnesini anında oluşturabilir ve yine de saklanan değeri bulabilirsiniz.

data class Coord(val x: Int, val y: Int)

fun main() {
    val grid = mapOf(Coord(0, 0) to "start", Coord(1, 1) to "goal")
    println(grid[Coord(1, 1)])
}

Eşleme Değerleri Olarak Veri Sınıfları

Elbette veri sınıfları, bir kimlikle anahtarlanmış kapsamlı kayıtları modelleyen değerler de olabilir.

Bu, bellekteki aramalarda yaygın bir yapıdır.

data class User(val name: String, val age: Int)

fun main() {
    val byId = mapOf(1 to User("Alice", 30))
    println(byId[1]?.name)
}

Koleksiyonları Filtreleme

Verilerinizi sorgulamak için veri sınıflarını filter gibi koleksiyon işlevleriyle birleştirin.

Lambda, özelliklere doğrudan erişir.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("A", 20), User("B", 40))
    val adults = users.filter { it.age >= 30 }
    println(adults)
}

Özelliklere Eşleme

Nesnelerden oluşan bir koleksiyonu tek bir özellikten oluşan bir koleksiyona dönüştürmek için map kullanın.

Bu, yalnızca ihtiyacınız olan veriyi çıkarır.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("Alice", 30), User("Bob", 25))
    val names = users.map { it.name }
    println(names)
}

Özelliğe Göre Gruplama

groupBy, bir listeyi seçilen bir özellikle anahtarlanmış bir eşlemeye dönüştürür.

Burada kullanıcılar şehirlerine göre gruplanır.

data class User(val name: String, val city: String)

fun main() {
    val users = listOf(User("A", "Paris"), User("B", "Paris"), User("C", "Rome"))
    val byCity = users.groupBy { it.city }
    println(byCity["Paris"]?.size)
}

Öğeleri Değişmez Biçimde Güncelleme

Değişmez bir listedeki öğeyi güncellemek için liste üzerinde eşleme yapın ve eşleşen öğede copy kullanın.

Sonuç, bir nesnesi değiştirilmiş yeni bir listedir.

data class User(val name: String, val age: Int)

fun main() {
    val users = listOf(User("Alice", 30), User("Bob", 25))
    val updated = users.map { if (it.name == "Bob") it.copy(age = 26) else it }
    println(updated)
}

Bir Araya Getirme

Veri sınıfları koleksiyon öğeleri için idealdir:

  • contains ve kümeler değere göre çalışır
  • Güvenli ve karşılaştırılabilir eşleme anahtarları oluştururlar
  • filter, map ve groupBy ile doğal biçimde birlikte çalışırlar
  • copy, değişmez güncellemeleri mümkün kılar
data class User(val name: String, val age: Int)

fun main() {
    val users = setOf(User("Alice", 30), User("Alice", 30))
    println(users.size)
    println(users.map { it.name })
}

Kısa Sınama

Koleksiyonlardaki veri sınıfları konusundaki anlayışınızı sınayın.

Özet

Veri sınıflarının koleksiyonlarda nasıl çalıştığını öğrendiniz:

  • Değer eşitliği, contains, kümeler ve eşleme anahtarlarının temelidir
  • filter, map ve groupBy ile birlikte çalışırlar
  • copy, değişmez güncellemeleri destekler

Veri Sınıfları ve Yapı Bozma kursu tamamlandı.

Sıkça Sorulan Sorular

“Koleksiyonlarda Veri Sınıfları” dersi ücretsiz mi?

Evet — “Koleksiyonlarda Veri Sınıfları” 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 Veri Sınıfları” dersinde ne öğreneceğim?

Haritalarda ve kümelerde kullanı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 Veri Sınıfları” 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. Veri Sınıflarını Tanımlama
  2. copy ve equals
  3. Yapı Bozma Bildirimleri
  4. Koleksiyonlarda Veri Sınıfları
← Kotlin Academy Sayfasına Dön