Uvod v Array v PowerShellu

Niz je vrsta podatkovne strukture, ki jo lahko uporabimo za shranjevanje zbirke elementov, zbirka elementov je lahko enakega tipa podatkov ali drugačna. Do elementov v matriki je mogoče dostopati s pomočjo indeksa. Indeks matrike se običajno začne pri 0, zato za dostop do prvega elementa morate uporabiti indeks (0). Običajno sta na matriki lahko samo dve operaciji, tj. Dodajanje elementa v matriko ali odstranitev elementa. V tem članku bomo spoznali Array v PowerShellu.

Določitev matrike v PowerShellu

Niz se lahko definira na kateri koli od naslednjih načinov,

@ () Je eden od načinov za določitev matrike.

Primer:

$Subject = @('History', 'Geo', 'Maths')

  • Niz se lahko ustvari tudi kot seznam, ločen z vejicami.

$test='testone', 'testtwo', 'testthree'

  • Za določen element podatkovne vrste lahko izdelamo matriko, kot sledi,

(int()) $numbersarray = 1, 2, 3, 4, 5

Zgoraj je celoštevilčni niz in lahko vsebuje samo celotne vrednosti.

Dostop do matrike

Določimo niz,

Primer:

('test1', 'test2', 'test3', 'test4')

$ test (0) bo vrnil test1, $ test (3) pa vrnil test4. Številni jeziki omogočajo določitev samo enega indeksa, medtem ko se v PowerShellu lahko hkrati uporablja več indeksov.

V zgornjem $ preskusu (1, 3) se bo vrnil,

test2

test4

Operacije na matriki

Dodajanje elementov v matriko. Poglejmo primer, kako dodati element obstoječemu nizu.

Primer:

('welcome', 'home')

Če želite dodati zgornji niz, se uporablja operator '+ ='.

$ test + = 'Raj'

Če se prikaže $ test, se bo vrnil,

dobrodošli

domov

Raj

Pridobivanje števila matrike

Tukaj razlagamo, kako uporabiti naslednji vhod, da dobimo število matrike.

Vnos:

('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')

$ test.Count vrne 6, kar je število / dolžina matrike.

1. Razvrščanje elementov v matriki

Operator razvrščanja se lahko uporablja za razvrščanje elementov matrike, če so elementi istega podatkovnega tipa.

Vnos:

('oneee', 'zddsdsad', 'thraewawe')
$test |sort

Zgornji ukaz bo razvrstil elemente v naraščajočem vrstnem redu

Izhod:

Vnos:

$test |sort -Descending will sort the elements in the descending order

Izhod:

2. Posodabljanje elementa v matriki

Indeks lahko uporabite za posodobitev elementa v matriki

Vnos:

('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'

Zgornji ukaz bo spremenil 'one' v 'spremenjen'. Izvedba $ testa se vrne

Izhod:

3. Iskanje elementa v matriki

Za preverjanje vrednosti matrike lahko uporabite podobnega operaterja

Vnos:

('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"

Izhod:

Večdimenzionalni niz v PowerShellu

Večdimenzionalni niz lahko ustvarimo na naslednji način,

$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)

Vsak niz ima eno vrstico in tri stolpce.

Zankanje matrike

Kot v vseh drugih jezikih se lahko tudi zanka za zanko uporabi v nizu elementov.

Vnos:

('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )

Izhod :

Vsak za vsakega lahko uporabite za izvedbo dejanja zoper vsako postavko v matriki.

Vnos:

(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)

Izhod:

Seznam matrikov v PowerShellu

Ena od pomanjkljivosti Array je dodajanje elementov, da bi premagali, da imamo seznam nizov.

Sledi sintaksa za ustvarjanje Array seznama,

$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray

Prva vrstica je način za inicializacijo Array seznama, naslednje vrstice pa dodajanje elementov v ArrayList

Učinkovitost seznama nizov

Naslednji primeri prikazujejo razliko v uspešnosti med izvajanjem operacije na seznamu nizov in nizov

Vnos:

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

Prvi ukaz izvede operacijo na matriki, tretja vrstica pa isto na seznamu matrike.

Izhod:

  • Delovanje Array

  • Učinkovitost Array List

Učinkovitost seznama matrike je hitrejša in boljša od uspešnosti matrike.

Primer matrike v PowerShellu

Sledi primer iskanja dolžine matrike, ki uporablja za zanko, zanko foreach in while zanko.

Vnos:

$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

Izhod:

Hash Tabela

Tabela Hash se uporablja za izvajanje strukturiranega niza. V tabeli hash so vrednosti shranjene v obliki ključ-vrednost. Znani so tudi kot slovar ali asociativni niz.

Sintaksa:

()

Or

( key1=”test1”;key2=”test2”;key3=”test3”)

Kjer so key1, key2 in key3 ključi in test1, test2 in test3 so vrednosti.

Vnos :

$testhashtable

Izhod:

Ključ ali vrednosti lahko dostopate na naslednji način z operaterjem .dot

Vnos:

$testhashtable.keys

Izhod:

Vnos:

$testhashtable.Values

Izhod:

Primer

Sledi primer iskanja vseh ključev, ki jih je mogoče mešati in vrednosti mešanice.

Vnos:

$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

Izhod:

Zaključek - Niz v PowerShellu

Glavna prednost matrike je upravljanje s pomnilnikom. Do njih lahko dostopate neposredno iz predpomnilnika, kar pomaga pri hitrejšem iskanju. Ko je razglašena, jih je mogoče večkrat uporabiti.

Priporočeni članki

To je vodnik za Array v PowerShellu. Tukaj razpravljamo o uvedbi in izvajanju matrike, seznama nizov in hash tabele v PowerShellu. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. PowerShell proti CMD
  2. Najboljših 7 različic PowerShell-a
  3. Prednosti Array
  4. Ključna razlika med PowerShell in Bash

Kategorija: