Sobes.tech
Middle

Kuidas töötab sõnastik Swift programmeerimiskeeles?

sobes.tech AI

Vastus AI-lt

Swiftis Dictionary on mittesorted võtme-väärtuse paaride kogumik. Iga võti on unikaalne ja seda kasutatakse vastava väärtuse kiireks juurdepääsuks. Rakendatud hash-tabeli põhjal.

Võtmed peavad vastama Hashable protokollile, mis tagab hash-i arvutamise iga võtme jaoks. Väärtused võivad olla mis tahes tüüpi.

Peamised operatsioonid sõnastikuga hõlmavad:

  • Tühi sõnastik või algväärtustega sõnastiku loomine.
  • Väärtuse saamine võtme järgi (tagastab valikulise väärtuse, kuna võti võib puududa).
  • Väärtuse lisamine või uuendamine võtme järgi.
  • Väärtuse eemaldamine võtme järgi.
  • Paari võtme ja väärtuse iteratsioon.
  • Kõigi võtmete või kõigi väärtuste kogumite saamine.

Kui element lisatakse või uuendatakse, arvutab Swift välja võtme hash-i, määrab koha hash-tabelis ja asetab paari sinna. Elementi otsides tehakse sama hash-i arvutus ja juurdepääs vastavale kohale.

Hash-kolizioonide korral (kui erinevatel võtmetel on sama hash) kasutab Swift kolizioonide lahendamise meetodeid, näiteks ahelate (chaining) meetodit, et hoida mitu paari ühes kohas.

Kui elementide arv suureneb, võib sõnastik teha ümberhashimist ja suuruse muutmist, et säilitada optimaalne jõudlus.

Kasutusnäide:

// Sõnastiku loomine
var userInfo: [String: Any] = [
    "name": "Alice",
    "age": 30,
    "city": "New York"
]

// Väärtuse saamine
if let name = userInfo["name"] as? String {
    // ...
}

// Väärtuse lisamine/uuendamine
userInfo["job"] = "Developer"
userInfo["age"] = 31

// Väärtuse eemaldamine
userInfo["city"] = nil

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