Introduktion til Array i PowerShell

Arrayet er en type datastruktur, der kan bruges til at gemme en samling af varer, indsamlingen af ​​elementer kan være af samme datatype eller forskellige. Elementerne i en matrix kan fås ved hjælp af indekset. Indekset for arrayet starter normalt ved 0, så for at få adgang til det første element skal du bruge indekset (0). Typisk kan kun to operationer være på en matrix, dvs. tilføje et element til arrayen eller fjerne et element. I denne artikel skal vi lære om Array i PowerShell.

Definition af en matrix i PowerShell

En matrix kan defineres på en af ​​følgende måder,

@ () Er en af ​​måderne at definere en matrix på.

Eksempel:

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

  • En matrix kan også oprettes som en kommasepareret liste.

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

  • Der kan oprettes en matrix til et specifikt datatypeelement som følger,

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

Ovenstående er et heltalarray, og det kan kun indeholde heltalværdier.

Adgang til en matrix

Lad os definere en matrix,

Eksempel:

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

$ test (0) returnerer test1, $ test (3) returnerer test4. På mange sprog er det kun muligt at specificere et enkelt indeks, mens der i PowerShell flere indekser kan bruges samtidig.

I ovenstående $ test (1, 3) vender tilbage,

test2

test4

Operations on a Array

Føj elementer til en matrix. Lad os se et eksempel på, hvordan du tilføjer et element til en eksisterende matrix.

Eksempel:

('welcome', 'home')

For at tilføje til ovenstående matrix bruges operatøren '+ ='.

$ Test + = 'Raj'

Kørsel af $ test vil vende tilbage,

Velkommen

hjem

Raj

Få tællingen af ​​en matrix

Her forklarer vi, hvordan man bruger følgende input til at få tællingen af ​​en matrix.

Input:

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

$ test.Count returnerer 6, som er tællingen / længden af ​​arrayet.

1. Sortering af elementerne i en matrix

Sorteringsoperatøren kan bruges til at sortere elementerne i en matrix, hvis elementerne er af den samme datatype.

Input:

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

Ovenstående kommando sorterer elementerne i stigende rækkefølge

Produktion:

Input:

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

Produktion:

2. Opdatering af en vare i en matrix

Indekset kan bruges til at opdatere et element i matrixen

Input:

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

Ovenstående kommando vil ændre 'en' til 'ændret'. Udførelse af $ test vender tilbage

Produktion:

3. Find et element i en matrix

Til at kontrollere en matrix for værdi, kan den lignende operatør bruges

Input:

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

Produktion:

Multidimensionel matrix i PowerShell

Vi kan oprette en multidimensionel matrix som følger,

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

Hver matrix har en række og tre kolonner.

Looping en matrix

Som på alle andre sprog kan for loop bruges til at sløjfe genstande i en matrix.

Input:

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

Output :

For-hver kan bruges til at udføre en handling mod hvert element i matrixen.

Input:

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

Produktion:

Array-liste i PowerShell

En af ulemperne med Array er at tilføje elementer til det for at overvinde, at vi har en matrixliste.

Det følgende er syntaks for at oprette en matrixliste,

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

Den første linje er måden at initialisere en matrixliste, og de efterfølgende linjer er at tilføje elementer til ArrayList

Array vs Array List Performance

Følgende eksempler viser forskellen i ydeevne, mens du udfører en handling på en matrix og array-liste

Input:

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

Den første kommando udfører en operation på matrixen, og den tredje linje gør det samme på en matrixliste.

Produktion:

  • Udførelse af Array

  • Udførelse af Array List

Arraylistens ydelse er hurtigere og bedre end arraylisten.

Eksempel på Array i PowerShell

Følgende er et eksempel til at finde længden på en matrix, der bruger til loop, foreach loop og while loop.

Input:

$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

Produktion:

Hash-tabel

Hash-tabel bruges til at implementere en struktureret matrix. I hashtabellen gemmes værdierne i et nøgleværdiformat. De er også kendt som ordbog eller tilknyttet matrix.

Syntaks:

()

Eller

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

Hvor nøgle1, nøgle2 og nøgle3 er tasterne, og test1, test2 og test3 er værdierne.

Input :

$testhashtable

Produktion:

Nøglen eller værdierne kan fås på følgende måde ved hjælp af .dot-operatøren

Input:

$testhashtable.keys

Produktion:

Input:

$testhashtable.Values

Produktion:

Eksempel

Det følgende er et eksempel på at finde alle hashtable nøgler og hashtable værdier.

Input:

$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

Produktion:

Konklusion - Array i PowerShell

Den største fordel ved en matrix er hukommelsesstyring. De kan fås direkte fra cachen, hvilket hjælper med hurtigere hentning. De kan genbruges, når det først er erklæret, kan de genbruges flere gange.

Anbefalede artikler

Dette er en guide til Array i PowerShell. Her diskuterer vi introduktionen og implementeringen af ​​en matrix, matrixliste og hash-tabel i PowerShell. Du kan også se på de følgende artikler for at lære mere -

  1. PowerShell vs CMD
  2. Top 7 versioner af PowerShell
  3. Fordele ved Array
  4. Nøgleforskel mellem PowerShell og Bash

Kategori: