Sobes.tech
Middle

Swift programlama dilinde sözlük nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Swift'teki Dictionary anahtarsız sıralanmamış anahtar-değer çiftleri koleksiyonunu temsil eder. Her anahtar, sözlükte benzersizdir ve karşılık gelen değere hızlı erişim sağlar. Bir karma tabanlı yapıya dayanır.

Anahtarlar Hashable protokolünü karşılamalıdır, bu da her anahtar için bir karma hesaplamayı mümkün kılar. Değerler herhangi bir türde olabilir.

Sözlükle ilgili temel işlemler şunları içerir:

  • Boş bir sözlük veya başlangıç değerleriyle bir sözlük oluşturma.
  • Anahtar kullanarak değere erişim (opsiyonel bir değer döner, çünkü anahtar olmayabilir).
  • Anahtar kullanarak değer ekleme veya güncelleme.
  • Anahtar kullanarak değeri silme.
  • Anahtar-değer çiftleri üzerinde yineleme.
  • Tüm anahtarların veya tüm değerlerin koleksiyonlarını alma.

Bir öğe eklerken veya güncellerken, Swift anahtarın karma değerini hesaplar, karma tablosundaki yeri belirler ve oraya anahtar-değer çiftini yerleştirir. Bir öğe aranırken, benzer bir karma hesaplama ve ilgili yuvaya erişim işlemi yapılır.

Karma çakışması durumunda (farklı anahtarların aynı karma değerine sahip olması), Swift çakışma çözüm yöntemleri kullanır, örneğin zincirleme (chaining), böylece bir yuva içinde birden fazla çift saklanabilir.

Öğe sayısı artırıldığında, sözlük yeniden karma yapabilir ve temel veri yapısının boyutunu değiştirebilir, böylece optimal performans korunur.

Kullanım örneği:

// Sözlük oluşturma
var userInfo: [String: Any] = [
    "name": "Alice",
    "age": 30,
    "city": "New York"
]

// Değere erişim
if let name = userInfo["name"] as? String {
    // ...
}

// Değer ekleme/güncelleme
userInfo["job"] = "Developer"
userInfo["age"] = 31

// Değeri silme
userInfo["city"] = nil

// Yineleme
for (key, value) in userInfo {
    print("\(key): \(value)")
}