Kiired massiivid: kuidas seda kasutada ja miks? (Näidetega)

Selles õpetuses saate teada massiividest, nende loomisest, massiivi väärtustele juurdepääsemisest ja mõnest massiivi tavalisest toimingust.

Eelmises Swifti andmetüüpide artiklis õppisime tundma mõne andmetüübi muutujate / konstantide loomist, mis mahutavad ühte väärtust.

Aga mis siis, kui soovime salvestada mitu sama andmetüübi väärtust. Swiftis kasutame midagi nimega Array .

Mis on massiiv?

Massiiv on lihtsalt konteiner, mis mahutab järjestatud loendis mitut andmetüüpi (väärtust) andmetüüpi, st elemendid saadakse samas järjestuses nagu massiivi üksused määratlesid.

Massiivi saab salvestada väärtusi andmeid tüüp nt Int, String, klassi jne

Kuidas kuulutada massiiv Swiftis?

Tühja massiivi saate luua, määrates andmetüübi nurksulgudes ().

Pidage meeles, et peate sisestama tüübi nurksulgudesse, vastasel juhul käsitleb Swift seda tavalise andmetüübina ja saate sinna salvestada ainult ühe väärtuse.

Näide 1: Tühja massiivi deklareerimine

 let emptyIntArr:(Int) = () print(emptyIntArr) 

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

 ()

Ülaltoodud programmis oleme deklareerinud pideva emptyIntArr, mis suudab salvestada täisarvu massiivi ja initsialiseerida 0 väärtusega.

VÕI

Tühja massiivi saate määratleda ka järgmiselt:

 let emptyIntArr:Array = Array() print(emptyIntArr) 

VÕI

Kuna swift on tüübi järelduskeel, saate massiivi 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: massiivi deklareerimine mõne väärtusega

 let someIntArr = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(someIntArr) 

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

 (1, 2, 3, 4, 5, 6, 7, 8, 9)

Ülaltoodud programmis oleme deklareerinud konstandi someIntArr, mis suudab salvestada täisarvu massiivi, ilma et tüüp oleks selgesõnaliselt täpsustatud. Samuti oleme algatanud massiivi 1, 2, 3, 4, 5, 6, 7, 8, 9 väärtustega.

Näide 3: massiivi deklareerimine, mis sisaldab määratud arvu ühekordset väärtust

Massiivi moodustamiseks Swiftis saate väärtust korrata ka mitu korda. Selleks kasutatakse massiivi initsiaatorit kordamise ja loendamisega.

 let arrWithRepeatingValues = Array(repeating: "Hello, World", count: 4) print(arrWithRepeatingValues) 

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

 ("Tere, maailm", "Tere, maailm", "Tere, maailm", "Tere, maailm")

Ülaltoodud programmis oleme määranud konstantsed arrWithRepeatingValues, mis salvestab stringi massiivi Hello, World ja kordab sama väärtust 4 korda, nagu loendis on määratud.

Märkus . Swiftis ei saa fikseeritud pikkusega massiivi luua nagu teistes programmeerimiskeeltes. Fikseeritud pikkusega massiiv tähendab, et massiivil ei saa olla rohkem elemente, kui olete lähtestamise ajal määranud.

Kuidas väärtusi massiivis salvestatakse?

Oletame, et teil on konstant, mis saab hulga stringe salvestada järgmiselt:

 olgu intArr = (21, 34, 54, 12)

Piltide kujutist massiivi salvestamise kohta saab näidata allpool:

Kõik teie loodud massiivid algavad indeksiga 0. Esimene element salvestatakse indeksis 0, teine ​​element järgmises indeksis (1) ja nii edasi.

Kuidas Swiftis massiivi elementidele juurde pääseda?

Massiivi elementidele pääsete juurde, kasutades alaindeksite süntaksit, st peate kohe pärast massiivi nime sisestama nurksulgudesse selle väärtuse indeksi, millele soovite juurde pääseda.

Oletame, et deklareerisite massiivi intArr nagu ülal. Esimene element on intArr (0), teine ​​element intArr (1) ja nii edasi.

Näide 4: Juurdepääs massiivi elementidele

 let intArr = (21, 34, 54, 12) print(intArr(0)) print(intArr(1)) print(intArr(2)) print(intArr(3)) 

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

 21 34 54 12 

Massiivi elementidele pääseb juurde ka sisselülitamise silmuste abil. Selle kohta lisateabe saamiseks lugege jaotist Swift sisselülitamise silmus.

Kuidas muuta Swiftis massiivi elemente / lisada?

Massiivi elemente saate muuta, kasutades alaindeksi süntaksit ja määranguoperaatorit, st peate sisestama värskendatava väärtuse indeks nurksulgudesse pärast massiivi nime, millele järgneb määranguoperaator ja uus väärtus.

Näide 5: Massiivi elementide muutmine

 var intArr = (21, 34, 54, 12) intArr(0) = 12 intArr(1) = 42 intArr(2) = 45 intArr(3) = 21 print(intArr) 

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

 (12, 42, 45, 21)

Samuti saate muuta kõiki massiivi elemente uute väärtustega, nagu allpool:

Näide 6: Massiivi muutmine tervikuna

 var intArr = (21, 34, 54, 12) intArr = (1,2,3) print(intArr) 

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

 (1, 2, 3)

Olemasolevale massiivile uue elemendi lisamiseks ei saa te siiski kasutada alaindeksi süntaksit. Kui teete seda, saate lõpuks vea. Midagi sellist ei saa teha:

Näide 7: massiivi uue elemendi lisamine alamindeksi süntaksiga (ei tööta)

 var intArr = (21, 34, 54, 12) intArr(4) = 10 

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

 saatuslik viga: indeks on vahemikust väljas

Ülaltoodud programm annab vea massiivi intArr uue elemendi määramisel. Seda seetõttu, et intArr ei ole eraldanud indeksile 4 lisamälu ega saa antud väärtust salvestada.

Massiivi uue elemendi õigeks sisestamiseks kasutame massiivi append()meetodit. append()on kirjeldatud allpool.

Mõned kasulikud sisseehitatud massiivi funktsioonid ja atribuudid

1. onTühi

See omadus määrab, kas massiiv on tühi või mitte. See naaseb, truekui massiiv ei sisalda muud väärtust false.

Näide 8: Kuidas Empty töötab?

 let intArr = (21, 34, 54, 12) print(intArr.isEmpty) 

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

 vale

2. esimene

Seda omadust kasutatakse massiivi esimese elemendi juurde pääsemiseks.

Näide 9: Kuidas esimene töötab?

 let intArr = (21, 34, 54, 12) print(intArr.first) 

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

 Valikuline (21)

Samamoodi saate lastmassiivi viimase elemendi juurde pääsemiseks kasutada omadust.

3. lisa

Funktsiooni Lisa lisatakse massiivi lõppu elemendi lisamiseks / lisamiseks.

Näide 10: Kuidas lisa töötab?

 var intArr = (21, 34, 54, 12) intArr.append(32) print(intArr) 

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

 (21, 34, 54, 12, 32)

Ühe massiivi sisu saate lisada ka teisele massiivile järgmiselt:

 var firstArr = (1,2,3,4) var secondArr = (5,6,7,8) firstArr.append(contentsOf: secondArr) print(firstArr) 

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

 (1, 2, 3, 4, 5, 6, 7, 8)

4. sisestage

Seda funktsiooni kasutatakse massiivi konkreetse indeksi elemendi lisamiseks / lisamiseks.

Näide 11: Kuidas sisestus toimib?

 var intArr = (21,34,54,12) intArr.insert(22, at: 1) print(intArr) 

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

 (21, 22, 34, 54, 12)

Samamoodi saate removeatribuudi abil elementi eemaldada määratud indeksist.

5. eemaldage

See funktsioon eemaldab ja tagastab massiivilt määratud asukohas määratud väärtuse.

Näide 12: Kuidas eemaldamine toimib?

 var strArr = ("ab","bc","cd","de") let removedVal = strArr.remove(at: 1) print("removed value is (removedVal)") print(strArr) 

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

 eemaldatud väärtus on bc ("ab", "cd", "de") 

Samamoodi saate kasutada ka selliseid funktsioone nagu removeFirstmassiivi esimese elemendi eemaldamine, massiivi removeLastviimase elemendi eemaldamine ja massiivi removeAlltühjendamine.

6. tagurpidi

See funktsioon tagastab massiivi elemendid vastupidises järjekorras.

Näide 13: Kuidas tagurpidi () töötab?

 var intArr = (21,22,23,24) let reversedArr = Array(intArr.reversed()) print(reversedArr) 

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

 (24, 23, 22, 21)

7. loenda

See omadus tagastab massiivi elementide koguarvu.

Näide 14: loenda

 let floatArr = (10.2,21.3,32.0,41.3) print(floatArr.count) 

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

 4

Asjad, mida meeles pidada

Kui kasutate Swifti massiivi elementidele juurdepääsemiseks alaindeksisüntaksit, peate olema kindel, et väärtus peitub indeksis, vastasel juhul saate käituse krahhi. Vaatame seda näites:

 let intArr = (21, 34, 54, 12) print(intArr(-1)) 

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

 saatuslik viga: indeks on vahemikust väljas

Ülaltoodud programmis pole indeksis -1 väärtust . Nii et kui proovite pääseda indeksis olevale väärtusele, saate käituse krahhi.

Selle vältimiseks leidke kõigepealt eemaldatava elemendi register. Ja seejärel eemaldage indeksist järgmine element:

 var intArr = (21, 34, 54, 12) if let index = intArr.index(of: 34) ( print("found index") let val = intArr.remove(at: index) print(val) ) 

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

 leitud indeks 34 

Huvitavad Artiklid...