Kiire sõnastik (koos näidetega)

Selles õpetuses saate teada, mis on sõnastik, sõnastiku loomise ja mõned levinumad toimingud sõnastikus.

Eelmises Swift Arraysi artiklis õppisime, kuidas saame muutuja / konstandi hulka salvestada mitu väärtust. Selles artiklis arutleme, kuidas saaksime andmeid / väärtusi põhiväärtuste paaridena salvestada.

Mis on sõnastik?

Sõnastik on lihtsalt konteiner, mis mahutab mitut teavet võtme-väärtuse paarina järjestamata kujul.

Iga väärtus on seotud ainulaadse võtmega ja salvestab andmed alates komplektidest järjestamata loendisse, st te ei saa elemente samas järjekorras, kui määratlesite sõnastikus olevad üksused.

Massiivi asemel võite kasutada sõnastikku, kui peate kollektsiooni mõne identifikaatoriga väärtust otsima. Oletame, et võiksite otsida riigi pealinnast. Sellisel juhul loote sõnastiku, kus on peamine riik ja väärtuslik pealinn. Nüüd saate kollektsioonist pealinna, otsides võtmeriiki.

Lihtsamalt öeldes ühendate võtme väärtusega. Ülaltoodud näites ühendasime riigi oma pealinnaga.

Kuidas kuulutada Swiftis sõnastik?

Tühja sõnastiku saate luua, täpsustades key:valuenurksulgudes andmete tüübi ().

Näide 1: tühja sõnaraamatu deklareerimine

 let emptyDic:(Int:String) = (:) print(emptyDic) 

Programmi käivitamisel on väljund järgmine:

 (:)

VÕI

Tühja sõnastiku saate määratleda ka järgmiselt:

 let emptyDic:Dictionary = (:) print(emptyDic) 

Eespool nimetatud programmis oleme kuulutanud tüübi Intja tüübi väärtusega võtme konstantse tühiDic of type sõnastiku Stringja lähtestanud selle 0 väärtusega.

VÕI

Kuna Swift on tüübi järelduskeel, saate sõnastiku luua ka otse ilma andmetüüpi määramata, kuid peate initsialiseerima mõne väärtusega, et kompilaator saaks selle tüübi järeldada järgmiselt:

Näide 2: Sõnaraamatu deklareerimine mõne väärtusega

 let someDic = ("a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9) print(someDic) 

Programmi käivitamisel on väljund järgmine:

 ("b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, " h ": 8)

Ülaltoodud programmis oleme deklareerinud sõnaraamatu, ilma et oleksime tüüpi selgesõnaliselt määranud, vaid initsialiseerinud mõne vaikelemendiga.

Element on võtmes: väärtuspaar, kus võti on tüüpi Stringja väärtus on Inttüüpi. Kuna sõnastik on korrastamata loend, print(someDic)väljastab väärtused määratletud erinevas järjekorras.

Näide 3: sõnastiku loomine kahest massiivist

Massiivide abil saame luua ka sõnaraamatu.

 let customKeys = ("Facebook", "Google", "Amazon") let customValues = ("Mark", "Larry", "Jeff") let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary) 

Programmi käivitamisel on väljund järgmine:

 ("Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark")

Ülaltoodud programmis zip(customKeys,customValues)loob uue duplikaadi järjestuse, kus iga element esindab väärtust customKeys ja customValues. ZIP-i toimimise kohta lisateabe saamiseks külastage lehte Swit zip.

Nüüd saame selle jada Dictionary(uniqueKeysWithValues:)lähtestajale edastada ja luua uue sõnastiku. Seetõttu print(newDictionary)väljastab uue sõnastiku kahe massiivi elementidega.

Kuidas pääseda Swifti sõnaraamatu elementidele juurde

Massiividena pääsete juurde sõnaraamatu elementidele, kasutades alaindeksite süntaksit. Peate sisestama nurksulgudes oleva väärtuse võtme kohe pärast sõnastiku nime.

Näide 4: Juurdepääs sõnaraamatu elementidele

 let someDic = ("a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9) print(someDic("a")) print(someDic("h")) 

Programmi käivitamisel on väljund järgmine:

 Valikuline (1) Valikuline (8) 

Sõnaraamatu elementidele pääseb juurde ka sisselülitamise tsüklite abil.

Näide 5: Juurdepääs sisselülituse tsükliga sõnaraamatu elementidele

 let someDic = ("a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9) for (key,value) in someDic ( print("key:(key) value:(value)") ) 

Programmi käivitamisel on väljund järgmine:

 võti: b väärtus: 2 võti: väärtus: 1 võti: i väärtus: 9 võti: c väärtus: 3 võti: e väärtus: 5 võti: f väärtus: 6 võti: g väärtus: 7 

Kuidas Swiftis sõnastikuelemente muuta?

Sõnaraamatusse saate lisada elementide süntaksit kasutades elemente. Peate lisama alaindeksiks uue võtme ja määrama uue tüübi väärtuse alates sõnastikust.

Näide 6: elementide seadistamine sõnastikus

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") someDictionary("Japan") = "Tokyo" print(someDictionary) 

Programmi käivitamisel on väljund järgmine:

 ("Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu")

In the above example, we've created a new key-value pair "Japan": "Tokyo" in the given dictionary by using the subscript syntax.

You can also use subscript syntax to change the value associated with a particular key as:

Example 7: Changing elements of a dictionary

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") someDictionary("Nepal") = "KATHMANDU" print(someDictionary) 

When you run the program, the output will be:

 ("China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU")

Some helpful built-in Dictionary functions & properties

1. isEmpty

This property determines if an dictionary is empty or not. It returns true if a dictionary does not contain any value otherwise returns false.

Example 8: How isEmpty works?

 let someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") print(someDictionary.isEmpty) 

When you run the program, the output will be:

 false

2. first

This property is used to access the first element of a dictionary.

Example 9: How first works?

 let someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") print(someDictionary.first) 

When you run the program, the output will be:

 Optional((key: "China", value: "Beijing"))

3. count

This property returns the total number of elements (key-value pair) in a dictionary.

Example 10: How count works?

 let someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") print(someDictionary.count) 

When you run the program, the output will be:

 3

4. keys

This property returns all the keys inside the dictionary.

Example 11: How keys works?

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") let dictKeys = Array(someDictionary.keys) print(dictKeys) 

When you run the program, the output will be:

 ("China", "India", "Nepal")

Similarly, you can use values to get all the values inside the dictionary.

5. removeValue

This function removes and returns the value specified with the key from the dictionary. Both key value pair will be removed from the dictionary.

Example 12: How removeValue() works?

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") let val = someDictionary.removeValue(forKey: "Nepal") print(val) print(someDictionary) 

When you run the program, the output will be:

 Optional("Kathmandu") ("India": "NewDelhi", "China": "Beijing") 

Similarly, you can also use removeAll function to empty an dictionary.

Things to Remember

1. While using subscript syntax to access elements of an dictionary in Swift, you must be sure the key lies in the index otherwise you will get a nil value. Let's see this in example:

Example 13: Key must be present

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") let val = someDictionary("Japan") print(val) 

When you run the program, the output will be:

 nil

In the above program, there is no key Japan. So when you try to access the value of the key "Japan", you will get a nil value.

2. Likewise, key-values are case-sensitive in Swift, so you must make sure the correct cased key/value is used. Otherwise, you will get a nil value. Let's see this in example:

Example 14: Keys are case-sensitive

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") let val = someDictionary("nepal") print(val) 

When you run the program, the output will be:

 nil

In the above program, there is no key nepal. So when you try to access the value of the key "nepal", you will get a nil value.

3. There is also a way to provide a default value if the value for a given key does not exist. Let's see this in example:

Example 12: Default value for non-existent key

 var someDictionary = ("Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi") let val = someDictionary("nepal", default:"Not Found") print(val) 

When you run the program, the output will be:

 Not Found

Eespool nimetatud programmis oleme sõnastikule juurdepääsu ajal määranud vaikeparameetris väärtuse Ei leitud . Kui võtme väärtust pole olemas, tagastatakse vaikeväärtus, vastasel juhul tagastatakse väärtus.

Meie puhul pole võtit "nepal" olemas, nii et programm tagastab Not Found .

Huvitavad Artiklid...