Introducere în Array în PowerShell
Matricea este un tip de structură de date care poate fi folosită pentru a stoca o colecție de articole, colecția de articole poate fi fie de același tip de date, fie diferită. Elementele dintr-un tablou pot fi accesate folosind indexul. Indexul tabloului începe de obicei de la 0, deci pentru a accesa primul element trebuie să utilizați indexul (0). De obicei, doar două operații pot fi pe un tablou, adică adăugarea unui element în tablou sau eliminarea unui element. În acest articol, vom afla despre Array în PowerShell.
Definirea unei Array în PowerShell
Un tablou poate fi definit în oricare dintre următoarele moduri,
@ () Este una dintre modalitățile de definire a unui tablou.
Exemplu:
$Subject = @('History', 'Geo', 'Maths')
- Un tablou poate fi creat și ca listă separată de virgule.
$test='testone', 'testtwo', 'testthree'
- Un tabel poate fi creat pentru un anumit element de tip de date, după cum urmează,
(int()) $numbersarray = 1, 2, 3, 4, 5
De mai sus este un tablou întreg și poate deține doar valori întregi.
Accesarea unui Array
Să definim un tablou,
Exemplu:
('test1', 'test2', 'test3', 'test4')
$ test (0) va întoarce test1, $ test (3) va returna test4. Multe limbi permit doar un singur index să fie specificat, în timp ce în PowerShell mai mulți indici pot fi utilizați simultan.
În testul de mai sus (1, 3) va reveni,
test2
test4
Operații cu o matrice
Adăugarea de elemente într-un tablou. Să vedem un exemplu despre cum să adăugați un element la un tablou existent.
Exemplu:
('welcome', 'home')
Pentru a adăuga la tabloul de mai sus, se utilizează operatorul '+ ='.
$ Test de + = 'Raj'
Rularea testului $ va reveni,
Bine ati venit
Acasă
Raj
Obținerea contelui unei matricule
Aici vă explicăm, cum să folosiți următoarea intrare pentru a obține numărul unui tablou.
Intrare:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count va returna 6 care este numărul / lungimea tabloului.
1. Sortarea elementelor într-o matrice
Operatorul de sortare poate fi utilizat pentru a sorta elementele unui tablou dacă elementele sunt de același tip de date.
Intrare:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Comanda de mai sus va sorta elementele în ordine crescătoare
ieşire:
Intrare:
$test |sort -Descending will sort the elements in the descending order
ieşire:
2. Actualizarea articolului într-o matrice
Indicele poate fi utilizat pentru a actualiza un element din tablou
Intrare:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Comanda de mai sus va schimba „una” în „modificată”. Executarea testului $ se va întoarce
ieşire:
3. Găsirea unui element într-o matrice
Pentru a verifica valoarea unui tablou, se poate utiliza operatorul similar
Intrare:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
ieşire:
Array multidimensional în PowerShell
Putem crea un tablou multidimensional după cum urmează,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Fiecare tablou are un rând și trei coloane.
Buclând un Array
Ca în orice alte limbi, bucla for poate fi utilizată pentru a bucla elemente într-un tablou.
Intrare:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Rezultat :
For-fiecare poate fi utilizat pentru a efectua o acțiune împotriva fiecărui element din tablou.
Intrare:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
ieşire:
Lista de Array în PowerShell
Unul dintre dezavantajele cu Array este adăugarea de elemente la acesta, pentru a depăși faptul că avem o listă matricială.
Următoarea este sintaxa pentru a crea o listă de Array,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
Prima linie este modalitatea de inițializare a unei liste de Array, iar liniile ulterioare sunt de a adăuga elemente la ArrayList
Performanța listei Array vs Array
Următoarele exemple arată diferența de performanță în timp ce executați o operație pe o listă și tablă
Intrare:
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
Prima comandă efectuează o operație pe tablou, iar a treia linie face aceeași pe o listă de matrice.
ieşire:
- Performanța Array
- Performanța listei Array
Performanța listei de matrice este mai rapidă și mai bună decât cea a tabloului.
Exemplu de Array în PowerShell
Următorul este un exemplu pentru a găsi lungimea unui tablou folosind buclă, buclă foreach și loop.
Intrare:
$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
ieşire:
Masa cu Hash
Tabelul Hash este utilizat pentru a implementa un tablou structurat. În tabelul hash, valorile sunt stocate într-un format de valoare cheie. Ele sunt, de asemenea, cunoscute sub numele de Dicționar sau tablou asociativ.
Sintaxă:
()
Sau
( key1=”test1”;key2=”test2”;key3=”test3”)
În cazul în care key1, key2 și key3 sunt tastele și test1, test2 și test3 sunt valorile.
Intrare :
$testhashtable
ieşire:
Tasta sau valorile pot fi accesate după cum urmează folosind operatorul .dot
Intrare:
$testhashtable.keys
ieşire:
Intrare:
$testhashtable.Values
ieşire:
Exemplu
Urmează un exemplu pentru a găsi toate tastele hashtable și valorile hashtable.
Intrare:
$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
ieşire:
Concluzie - Array în PowerShell
Principalul avantaj al unui tablou este gestionarea memoriei. Acestea pot fi accesate direct din cache, ceea ce ajută la regăsirea mai rapidă. Sunt refolosibile, odată ce se declară că pot fi refolosite de mai multe ori.
Articole recomandate
Acesta este un ghid pentru Array în PowerShell. Aici discutăm despre introducerea și punerea în aplicare a unui tablou, listă de tablă și tabel de hash în PowerShell. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -
- PowerShell vs CMD
- Cele mai bune 7 versiuni ale PowerShell
- Avantajele Array
- Diferența cheie între PowerShell și Bash