Değişmez Koleksiyonları Derinlemesine İnceleme
Liste, Eşlem ve Küme gibi temel değişmez koleksiyonları keşfedin ve bunları verimli biçimde kullanmayı öğrenin.
Değişmez Koleksiyonları Derinlemesine İnceleme, CoddyKit'te ücretsiz bir Scala for Backend Engineering & Functional Programming dersidir. Bu, 3 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, Scala for Backend Engineering & Functional Programming öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.
Değişmez Koleksiyonlar: Genel Bakış
Değişmez koleksiyonlara hoş geldiniz! Scala'da bunlar, özellikle işlevsel programlamada sağlam, eşzamanlı ve öngörülebilir kod yazmanın temelini oluşturur.
List, Map ve Set gibi temel türleri, bunların verimli ve güvenli kullanımına odaklanarak inceleyeceğiz.
Değişmezlik Neden Önemlidir
Değişmezlik, bir koleksiyon oluşturulduktan sonra değiştirilemeyeceği anlamına gelir. Onu 'değiştiriyor' gibi görünen her işlem aslında yeni bir koleksiyon döndürür.
- Öngörülebilirlik: Kod hakkında akıl yürütmek daha kolaydır.
- İş Parçacığı Güvenliği: Veriler hiç değişmediği için kilitlere gerek yoktur.
- Yan Etki Yoktur: İşlemler başka yerlerdeki verileri beklenmedik şekilde değiştirmez.
Scala Listeleri: Sıralı Diziler
Scala'da bir List, aynı türdeki öğelerden oluşan değişmez, sıralı bir dizidir. Sıralamanın önemli olduğu sıralı veriler için idealdir.
Öğelerini yalnızca sıralayarak bir liste oluşturabilirsiniz.
object Main {
def main(args: Array[String]): Unit = {
val numbers = List(1, 2, 3, 4, 5)
val fruits = List("apple", "banana", "cherry")
println(s"Numbers list: $numbers")
println(s"Fruits list: $fruits")
}
}Liste İşlemleri: Head, Tail, Cons
Listeler, head (ilk öğe) ve tail (listenin geri kalanı) alma gibi yaygın işlemler sunar. :: (cons) işleci, bir öğeyi başa ekleyerek yeni bir liste oluşturmak için kullanılır.
object Main {
def main(args: Array[String]): Unit = {
val numbers = List(10, 20, 30)
println(s"Original list: $numbers")
println(s"Head of list: ${numbers.head}") // 10
println(s"Tail of list: ${numbers.tail}") // List(20, 30)
val newList = 5 :: numbers // Prepend 5
println(s"List with 5 prepended: $newList")
}
}Scala Map'leri: Anahtar-Değer İlişkilendirmeleri
Bir Map, anahtar-değer çiftlerini depolayan değişmez bir koleksiyondur. Her anahtar benzersizdir ve tek bir değere eşlenir. Map'ler, belirli bir anahtara göre değer aramak için mükemmeldir.
object Main {
def main(args: Array[String]): Unit = {
val ages = Map("Alice" -> 30, "Bob" -> 25, "Charlie" -> 35)
val codes = Map(1 -> "One", 2 -> "Two")
println(s"Ages map: $ages")
println(s"Codes map: $codes")
}
}Map İşlemleri: Erişim ve Güncelleme
Bir Map'teki değerlere anahtarını kullanarak erişebilirsiniz. Bir anahtar-değer çiftini 'güncellemek' veya 'eklemek' için değişiklikleri içeren yeni bir map oluşturur ve özgün map'i olduğu gibi bırakırsınız.
object Main {
def main(args: Array[String]): Unit = {
val ages = Map("Alice" -> 30, "Bob" -> 25)
println(s"Original ages: $ages")
println(s"Bob's age: ${ages("Bob")}")
val updatedAges = ages + ("Charlie" -> 35) // Add new pair
println(s"Ages after adding Charlie: $updatedAges")
val changedAges = updatedAges + ("Alice" -> 31) // Update Alice's age
println(s"Ages after updating Alice: $changedAges")
}
}Scala Set'leri: Benzersiz Öğeler
Bir Set, benzersiz öğelerden oluşan değişmez bir koleksiyondur. Listelerin aksine, Set'teki öğelerin sırası garanti edilmez ve yinelenen öğeler otomatik olarak yok sayılır.
Set'ler, üyelik kontrolü yapmak veya benzersizliği sağlamak için mükemmeldir.
object Main {
def main(args: Array[String]): Unit = {
val numbers = Set(1, 2, 2, 3, 4, 3, 5)
val letters = Set('a', 'b', 'a')
println(s"Unique numbers: $numbers")
println(s"Unique letters: $letters")
}
}Set İşlemleri: Ekleme, Kaldırma, Birleşim
Listeler ve Map'lerde olduğu gibi, Set'lerde öğe ekleme veya kaldırma işlemleri de yeni bir Set döndürür. Ayrıca union (kümeleri birleştirme) gibi küme kuramı işlemlerini de gerçekleştirebilirsiniz.
object Main {
def main(args: Array[String]): Unit = {
val setA = Set(1, 2, 3)
val setB = Set(3, 4, 5)
println(s"Set A: $setA")
println(s"Set B: $setB")
val addedSet = setA + 4 // Add element
println(s"Set A + 4: $addedSet")
val removedSet = setA - 2 // Remove element
println(s"Set A - 2: $removedSet")
val unionSet = setA union setB // Combine sets
println(s"Set A union Set B: $unionSet")
}
}Değişmezlik: Özgün Koleksiyon Korunur
Scala'nın değişmez koleksiyonlarındaki tüm 'değiştirme' işlemlerinin yeni bir koleksiyon döndürdüğünü hatırlamak çok önemlidir. Özgün koleksiyon hiçbir zaman değiştirilmez.
Bu davranış, Scala'daki işlevsel programlamanın temel taşlarından biridir.
object Main {
def main(args: Array[String]): Unit = {
val originalList = List(10, 20, 30)
println(s"Original List: $originalList")
val doubledList = originalList.map(_ * 2) // map returns a NEW list
println(s"List after map: $doubledList")
println(s"Original list is still: $originalList") // Unchanged!
}
}Anlayışınızı Kontrol Edin
Aşağıdaki Scala kod parçacığını inceleyin:
val mySet = Set(1, 2, 3)
val newSet = mySet + 3 + 4
val finalSet = newSet - 2Bu işlemlerden sonra mySet'in değeri ne olur?
Özet: Değişmez Koleksiyonlar
Scala'nın temel değişmez koleksiyonlarını ayrıntılı olarak incelediniz:
- Listeler: Sıralı dizilerdir; sıralı veriler için uygundur.
- Map'ler: Anahtar-değer çiftleridir; aramalar için verimlidir.
- Set'ler: Benzersiz öğeler içerir; üyelik kontrolleri için idealdir.
Temel çıkarım değişmezliktir: İşlemler her zaman yeni koleksiyonlar döndürerek öngörülebilirliği ve güvenliği sağlar.
Sıkça Sorulan Sorular
“Değişmez Koleksiyonları Derinlemesine İnceleme” dersi ücretsiz mi?
Evet — “Değişmez Koleksiyonları Derinlemesine İnceleme” 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 Scala for Backend Engineering & Functional Programming kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Scala for Backend Engineering & Functional Programming kursu toplamda 3 dersten oluşur.
“Değişmez Koleksiyonları Derinlemesine İnceleme” dersinde ne öğreneceğim?
Liste, Eşlem ve Küme gibi temel değişmez koleksiyonları keşfedin ve bunları verimli biçimde kullanmayı öğrenin. Scala for Backend Engineering & Functional Programming 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.
Scala for Backend Engineering & Functional Programming öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Scala for Backend Engineering & Functional Programming, 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, 3 dersinin 1. dersidir.
“Değişmez Koleksiyonları Derinlemesine İnceleme” 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 Scala for Backend Engineering & Functional Programming dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Scala for Backend Engineering & Functional Programming 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
- Değişmez Koleksiyonları Derinlemesine İnceleme
- Koleksiyonlarda İşlevsel İşlemler
- Hatalar için Option, Try ve Either