Sobes.tech
Middle

Swift proqramlaşdırma dilində sözlük necə qurulub?

sobes.tech Süni İntellekt

AI-dan cavab

Swift-də Dictionary açar-dəyər cütlərinin sıralanmamış kolleksiyasını təmsil edir. Hər bir açar sözlükdə unikal və müvafiq dəyərə sürətli giriş üçün istifadə olunur. Bu, hash cədvəli əsasında həyata keçirilmişdir.

Açarlar Hashable protokoluna uyğun olmalıdır, bu da hər bir açar üçün hash hesablamasına imkan verir. Dəyərlər hər hansı bir növ ola bilər.

Əsas əməliyyatlar aşağıdakılardır:

  • Boş sözlük və ya başlanğıc dəyərləri ilə sözlük yaratmaq.
  • Açar vasitəsilə dəyərə giriş (seçimli dəyər qaytarır, çünki açar mövcud olmaya bilər).
  • Açar vasitəsilə dəyəri əlavə etmək və ya yeniləmək.
  • Dəyəri açar vasitəsilə silmək.
  • Açar-dəyər cütlükləri üzərində iterasiya.
  • Bütün açarların və ya bütün dəyərlərin kolleksiyasını əldə etmək.

Element əlavə və ya yeniləndikdə, Swift açarın hashini hesablayır, hash cədvəlində yerini müəyyən edir və oraya açar-dəyər cütlüyünü yerləşdirir. Açar vasitəsilə axtarışda, oxşar hash hesablaması və müvafiq yerə giriş həyata keçirilir.

Hash toqquşması hallarında (fərqli açarların eyni hash-ə malik olması), Swift toqquşma həll üsullarından istifadə edir, məsələn, zəncir (chaining), bu da bir yerdə bir neçə cütlüyü saxlamağa imkan verir.

Elementlərin sayını artırdıqda, sözlük rehash edə və əsas məlumat strukturu ölçüsünü dəyişə bilər, beləliklə, optimal performans saxlanılır.

İstifadə nümunəsi:

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

// Dəyərə giriş
if let name = userInfo["name"] as? String {
    // ...
}

// Dəyəri əlavə və ya yeniləmək
userInfo["job"] = "Developer"
userInfo["age"] = 31

// Dəyəri silmək
userInfo["city"] = nil

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