Ինչպես է կառուցված Swift ծրագրավորման լեզվում բառարաննը։
sobes.tech AI
Պատասխան AI-ից
Swift- ի Dictionary ներկայացնում է անսորտավորված զույգերի հավաքածու: Յուրաքանչյուր բանալի դիկշնարի մեջ եզակի է և օգտագործվում է համապատասխան արժեքին արագ հասնելու համար: Այն իրականացվում է հեշ-թերթի հիման վրա:
Բանալները պետք է համապատասխանեն Hashable պրոտոկոլին, ինչը ապահովում է յուրաքանչյուր բանալի համար հեշի հաշվարկը: Արժեքները կարող են լինել ցանկացած տիպի:
Հիմնական գործողությունները դիկշնարի հետ ներառում են՝
- դատարկ դիկշնարի կամ սկզբնական արժեքներով դիկշնարի ստեղծում
- արժեքին հասանելիք ըստ բանալի (վերադարձնում է ընտրովի արժեք, քանի որ բանալին կարող է բացակայել)
- արժեքի ավելացում կամ թարմացում ըստ բանալի
- արժեքի հեռացում ըստ բանալի
- զույգերի վրա կրկնություն
- բոլոր բանալիների կամ արժեքների հավաքածուի ստացում
Երբ ավելացնում կամ թարմացնում եք տարր, Swift հաշվում է բանալի հեշը, որոշում տեղը հեշ-թերթում և տեղադրում այնտեղ զույգը: Որոնումի ժամանակ, գործընթացը նման է հեշի հաշվարկին և համապատասխան տեղին մուտք գործելուն:
Հաշվարկային բարդությունների դեպքում (երբ տարբեր բանալիներ ունեն նույն հեշը), Swift օգտագործում է լուծման մեթոդներ, օրինակ, շղթայակապում (chaining), որպեսզի միաժամանակ պահի մի քանի զույգ նույն տեղում:
Երբ տարրերի քանակը մեծանում է, դիկշնարը կարող է կատարել rehash և փոխել տվյալների կառուցվածքի չափը՝ պահպանելու օպտիմալ կատարողականությունը:
Օգտագործման օրինակ:
// Դիկշնարի ստեղծում
var userInfo: [String: Any] = [
"name": "Alice",
"age": 30,
"city": "New York"
]
// Արժեքին հասանելիք
if let name = userInfo["name"] as? String {
// ...
}
// Ավելացնել/թարմացնել արժեք
userInfo["job"] = "Developer"
userInfo["age"] = 31
// Հեռացնել արժեք
userInfo["city"] = nil
// Կրկնություն
for (key, value) in userInfo {
print("\(key): \(value)")
}