Introduktion till Array i PowerShell

Arrayen är en typ av datastruktur som kan användas för att lagra en samling av objekt, samling av objekt kan vara antingen av samma datatyp eller annorlunda. Elementen i en matris kan nås med indexet. Indexet för arrayen börjar vanligtvis vid 0, så för att komma åt det första elementet måste du använda indexet (0). Vanligtvis kan bara två operationer vara på en matris, dvs lägga till ett element i matrisen eller ta bort ett element. I den här artikeln ska vi lära oss om Array i PowerShell.

Definiera en matris i PowerShell

En matris kan definieras på något av följande sätt,

@ () Är ett av sätten att definiera en matris.

Exempel:

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

  • En matris kan också skapas som en kommaseparerad lista.

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

  • En matris kan skapas för ett specifikt datatypelement enligt följande,

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

Ovanstående är ett heltalarray och det kan endast innehålla heltalvärden.

Åtkomst till en matris

Låt oss definiera en matris,

Exempel:

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

$ test (0) returnerar test1, $ test (3) returnerar test4. På många språk kan endast ett enda index specificeras, medan i PowerShell kan flera index användas samtidigt.

I ovanstående $ -test (1, 3) kommer tillbaka,

test2

test4

Operations on a Array

Lägga till objekt i en matris. Låt oss se ett exempel på hur man lägger till ett element i en befintlig matris.

Exempel:

('welcome', 'home')

För att lägga till ovanstående matris används operatören '+ ='.

$ Test + = 'Raj'

Att köra $ test kommer att återvända,

Välkommen

Hem

raj

Få greven av en matris

Här förklarar vi hur man använder följande input för att få räkningen av en matris.

Inmatning:

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

$ test.Count kommer att returnera 6 vilket är räkningen / längden på arrayen.

1. Sortera elementen i en matris

Sorteringsoperatören kan användas för att sortera elementen i en matris om elementen är av samma datatyp.

Inmatning:

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

Ovanstående kommando kommer att sortera elementen i stigande ordning

Produktion:

Inmatning:

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

Produktion:

2. Uppdatera objekt i en matris

Indexet kan användas för att uppdatera ett element i matrisen

Inmatning:

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

Ovanstående kommando kommer att ändra 'en' till 'ändrad'. Att utföra $ -test kommer att återgå

Produktion:

3. Hitta ett element i en matris

För att kontrollera ett array för värde kan liknande operatör användas

Inmatning:

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

Produktion:

Multidimensionell matris i PowerShell

Vi kan skapa en flerdimensionell grupp enligt följande,

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

Varje matris har en rad och tre kolumner.

Looping an Array

Liksom på andra språk kan for loop användas för att slinga objekt i en matris.

Inmatning:

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

Utgång :

För-kan användas för att utföra en åtgärd mot varje objekt i matrisen.

Inmatning:

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

Produktion:

Array List i PowerShell

En av nackdelarna med Array är att lägga till objekt i det, för att övervinna att vi har en matrislista.

Följande är syntaxen för att skapa en matrislista,

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

Den första raden är sättet att initiera en matrislista och de följande raderna är att lägga till objekt i ArrayList

Array vs Array List Performance

Följande exempel visar skillnaden i prestanda när du utför en operation i en matris- och matrislista

Inmatning:

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

Det första kommandot utför en operation på matrisen och den tredje raden gör samma sak på en matrislista.

Produktion:

  • Prestanda av Array

  • Utförande av Array List

Arraylistans prestanda är snabbare och bättre än matrislistan.

Exempel på Array i PowerShell

Följande är ett exempel för att hitta längden på en matris med hjälp av loop, foreach loop och while loop.

Inmatning:

$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:

Hashtabell

Hashtabell används för att implementera en strukturerad matris. I hashtabellen lagras värdena i ett nyckelvärdesformat. De är också kända som ordlista eller associerande matris.

Syntax:

()

Eller

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

Där key1, key2 och key3 är nycklarna och test1, test2 och test3 är värdena.

Inmatning :

$testhashtable

Produktion:

Nyckeln eller värdena kan nås enligt följande med hjälp av .dot-operatören

Inmatning:

$testhashtable.keys

Produktion:

Inmatning:

$testhashtable.Values

Produktion:

Exempel

Följande är ett exempel för att hitta alla hashtable-nycklar och hashtable-värden.

Inmatning:

$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:

Slutsats - Array i PowerShell

Den största fördelen med en matris är minneshantering. De kan nås direkt från cachen som hjälper till att snabbare hämta. De kan återanvändas, när det väl har förklarats kan de återanvändas flera gånger.

Rekommenderade artiklar

Detta är en guide till Array i PowerShell. Här diskuterar vi introduktionen och implementeringen av en matris, matrislista och hashtabell i PowerShell. Du kan också titta på följande artiklar för att lära dig mer -

  1. PowerShell vs CMD
  2. Topp 7 versioner av PowerShell
  3. Fördelar med array
  4. Nyckelskillnaden mellan PowerShell och Bash

Kategori: