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 -

  1. PowerShell vs CMD
  2. Cele mai bune 7 versiuni ale PowerShell
  3. Avantajele Array
  4. Diferența cheie între PowerShell și Bash

Categorie: