PowerShelli massiivi tutvustus
Massiiv on teatud tüüpi andmestruktuur, mida saab kasutada üksuste kogu talletamiseks, üksuste kogum võib olla sama andmetüübiga või erinev. Massiivi elementidele pääseb juurde indeksi abil. Massiivi indeks algab tavaliselt 0-st, nii et esimese elemendi juurde pääsemiseks peate kasutama indeksit (0). Tavaliselt saab massiivil olla ainult kaks toimingut, st massiivi elemendi lisamine või elemendi eemaldamine. Selles artiklis õpime tundma PowerShelli massiivi.
Massiivi määratlemine PowerShellis
Massiivi saab määratleda ühel järgmistest viisidest,
@ () On üks massiivi määratlemise viise.
Näide:
$Subject = @('History', 'Geo', 'Maths')
- Massiivi saab luua ka komaeraldusega loendina.
$test='testone', 'testtwo', 'testthree'
- Konkreetse andmetüübi elemendi jaoks saab massiivi luua järgmiselt:
(int()) $numbersarray = 1, 2, 3, 4, 5
Ülaltoodud on täisarvuline massiiv ja see mahutab ainult täisarvu väärtusi.
Juurdepääs massiivile
Määratlegem massiiv,
Näide:
('test1', 'test2', 'test3', 'test4')
$ test (0) tagastab testi1, $ test (3) tagastab testi4. Paljud keeled võimaldavad määratleda ainult ühe indeksi, samas kui PowerShellis saab korraga kasutada mitut indeksit.
Ülaltoodud $ testis (1, 3) naaseb,
test2
test4
Operatsioonid massiivil
Üksuste lisamine massiivi. Vaatame näidet, kuidas elementi olemasolevale massiivile lisada.
Näide:
('welcome', 'home')
Ülaltoodud massiivi lisamiseks kasutatakse operaatorit + =.
$ test + = 'Raj'
Jooksva dollari test naaseb,
Tere tulemast
Kodu
Raj
Massiivi arvu saamine
Siin selgitame, kuidas kasutada järgmist sisendit massiivi arvu saamiseks.
Sisend:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count tagastab 6, mis on massiivi arv / pikkus.
1. Elementide sortimine massiivis
Sorteerimisoperaatori abil saab massiivi elemente sortida, kui elemendid on sama andmetüübiga.
Sisend:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Ülaltoodud käsk sorteerib elemendid kasvavas järjekorras
Väljund:
Sisend:
$test |sort -Descending will sort the elements in the descending order
Väljund:
2. Massiivi üksuse värskendamine
Indeksit saab kasutada massiivi elemendi värskendamiseks
Sisend:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Ülaltoodud käsk muudab sõna "üks" väärtuseks "muudetud". $ Testi test naaseb
Väljund:
3. Massiivi elemendi leidmine
Massiivi väärtuse kontrollimiseks saab kasutada sarnast operaatorit
Sisend:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Väljund:
Mitmemõõtmeline massiiv PowerShellis
Saame luua mitmemõõtmelise massiivi järgmiselt:
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Igal massiivil on üks rida ja kolm veergu.
Massiivi loomine
Nagu kõigis teistes keeltes, saab ka silmuse jaoks massiivi silmuseid kasutada silmuse jaoks.
Sisend:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Väljund :
Igaüks saab kasutada toimingut massiivi iga üksuse vastu.
Sisend:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Väljund:
Massiivide loend PowerShellis
Üks massiivi puudusi on üksuste lisamine sellele, et ületada massiivide nimekirja.
Järgmine on massiiviloendi loomise süntaks,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
Esimene rida on massiivide nimekirja lähtestamise viis ja järgmistel ridadel üksuste lisamine ArrayListi
Massiiv vs massiivide loendi jõudlus
Järgmised näited näitavad massiivi ja massiivide loendis toimingu teostamise erinevusi jõudluses
Sisend:
Measure-Command -Expression ( 0..250 | ForEach-Object ( $arr += $_+1 ))
$arrlit = (System.Collections.ArrayList)@()
$f arrlit _performance = Measure-Command -Expression ( 0..250 | ForEach-Object ( $ arrlit += $_+1 ))
$ arrlit _performance
Esimene käsk teostab massiivis toimingu ja kolmas rida teeb seda massiivide loendis.
Väljund:
- Massiivi esitus
- Massiiviloendi täitmine
Massiiviloendi jõudlus on massiivist kiirem ja parem.
PowerShelli massiivi näide
Järgnevalt on toodud näide massiivi pikkuse leidmiseks, kasutades silmuseid, foreach-silmuseid ja silmuseid.
Sisend:
$testlist = 5.634, 4.512323, 3.312323, 13.2213213, 4.02324, 34.3334324, 34.04324, 45.4534324, 99.993234324, 11123234234 write-host("Printing the array elements")
$testlist
write-host("length of array")
$testlist.Length
write-host("fifth element in array")
$testlist(4) write-host("partial array")
$subList = $testlist(1..3) write-host("using for loop")
for ($i = 0; $i -le ($testlist.length - 1); $i += 1) (
$testlist($i) )
write-host("using forEach Loop")
foreach ($e in $testlist) (
$e
)
write-host("using while Loop")
$i = 0
while($i -lt 4) (
$testlist($i);
$i++
)
write-host("Assign values")
$testlist(1) = 10
$testlist
Väljund:
Räsitabel
Hash-tabelit kasutatakse struktureeritud massiivi rakendamiseks. Räsitabelis salvestatakse väärtused võtmeväärtuse vormingus. Neid nimetatakse ka sõnaraamatuks või assotsiatiivseks massiiviks.
Süntaks:
()
Või
( key1=”test1”;key2=”test2”;key3=”test3”)
Kui võtmed1, klahvid2 ja klahvid 3 on klahvid ja test1, test2 ja test3 on väärtused.
Sisend :
$testhashtable
Väljund:
Võtmele või väärtustele pääsete järgmiselt juurde .dot operaatori abil
Sisend:
$testhashtable.keys
Väljund:
Sisend:
$testhashtable.Values
Väljund:
Näide
Allpool on toodud näide kõigi räsitavate klahvide ja räsitavate väärtuste leidmiseks.
Sisend:
$testht = @( English = "85"; Tamil = "100"; maths = "100")
write-host("Printing all the hashtable keys")
$testht.keys
write-host("Printing all the hashtable values")
$testht.values
write-host("print Size")
$testht.Count
write-host("Add key-value")
$testht("Social") = "100"
write-host("Add key-value")
$testht.Add("ss", "110")
write-host("Size")
$testht.Count
write-host("Remove English")
$testht.Remove("English")
write-host("curentSize")
$testht.Count
write-host("sortinh by key")
$testht.GetEnumerator() | Sort-Object -Property key
Väljund:
Järeldus - massiiv PowerShellis
Massiivi peamine eelis on mäluhaldus. Neile pääseb juurde otse vahemälust, mis aitab kiiremini alla saada. Kui need on deklareeritud, saab neid korduvalt kasutada.
Soovitatavad artiklid
See on juhend Array kohta PowerShellis. Siin arutatakse massiivi, massiivi nimekirja ja räsitabeli tutvustamist ja rakendamist PowerShellis. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- PowerShell vs CMD
- PowerShelli seitse parimat versiooni
- Massiivi eelised
- Peamine erinevus PowerShelli ja Bashi vahel