Inleiding tot array in PowerShell

De array is een type gegevensstructuur die kan worden gebruikt om een ​​verzameling items op te slaan. De verzameling items kan van hetzelfde gegevenstype zijn of van verschillende. De elementen in een array zijn toegankelijk via de index. De index van de array begint meestal bij 0, dus om toegang te krijgen tot het eerste element moet u de index (0) gebruiken. Doorgaans kunnen slechts twee bewerkingen op een array worden uitgevoerd, dwz een element aan de array toevoegen of een element verwijderen. In dit artikel gaan we meer te weten komen over de array in PowerShell.

Een array definiëren in PowerShell

Een array kan op een van de volgende manieren worden gedefinieerd,

De @ () is een van de manieren om een ​​array te definiëren.

Voorbeeld:

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

  • Een array kan ook worden gemaakt als een door komma's gescheiden lijst.

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

  • Een array kan als volgt voor een specifiek datatype-element worden gemaakt,

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

Het bovenstaande is een geheel getal en kan alleen gehele waarden bevatten.

Toegang tot een array

Laten we een array definiëren,

Voorbeeld:

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

$ test (0) retourneert test1, $ test (3) retourneert test4. In veel talen kan slechts één index worden opgegeven, terwijl in PowerShell meerdere indexen tegelijkertijd kunnen worden gebruikt.

In de bovenstaande $ test (1, 3) komt terug,

test2

test4

Operaties op een array

Items toevoegen aan een array. Laten we een voorbeeld bekijken van het toevoegen van een element aan een bestaande array.

Voorbeeld:

('welcome', 'home')

Om aan de bovenstaande array toe te voegen, wordt de operator '+ =' gebruikt.

$ Toets + = 'Raj'

Lopende $ test zal terugkeren,

Welkom

huis

Raj

De graaf van een array krijgen

Hier leggen we uit hoe u de volgende invoer kunt gebruiken om de telling van een array te krijgen.

Invoer:

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

$ test.Count retourneert 6, wat de telling / lengte van de array is.

1. De elementen in een array sorteren

De sorteeroperator kan worden gebruikt om de elementen van een array te sorteren als de elementen van hetzelfde gegevenstype zijn.

Invoer:

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

De bovenstaande opdracht sorteert de elementen in oplopende volgorde

Output:

Invoer:

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

Output:

2. Item in een array bijwerken

De index kan worden gebruikt om een ​​element in de array bij te werken

Invoer:

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

Het bovenstaande commando zal de 'één' veranderen in 'veranderd'. Het uitvoeren van $ test zal terugkeren

Output:

3. Een element zoeken in een array

Om een ​​array op waarde te controleren, kan de soortgelijke operator worden gebruikt

Invoer:

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

Output:

Multidimensionale array in PowerShell

We kunnen als volgt een multidimensionale array maken,

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

Elke array heeft één rij en drie kolommen.

Een array doorlussen

Net als in alle andere talen kan de for-lus worden gebruikt om items in een array te herhalen.

Invoer:

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

Uitgang :

For-each kan worden gebruikt om een ​​actie uit te voeren tegen elk item in de array.

Invoer:

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

Output:

Arraylijst in PowerShell

Een van de nadelen van Array is dat er items aan worden toegevoegd om te voorkomen dat we een matrixlijst hebben.

Hierna volgt de syntaxis om een ​​matrixlijst te maken,

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

De eerste regel is de manier om een ​​matrixlijst te initialiseren en de volgende regels zijn om items toe te voegen aan de matrixlijst

Prestaties van array versus arraylijst

De volgende voorbeelden tonen het verschil in prestaties tijdens het uitvoeren van een bewerking op een array en arraylijst

Invoer:

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

De eerste opdracht voert een bewerking uit op de array en de derde regel doet hetzelfde op een arraylijst.

Output:

  • Prestaties van Array

  • Prestaties van matrixlijst

De prestaties van de arraylijst zijn sneller en beter dan die van de array.

Voorbeeld van array in PowerShell

Hierna volgt een voorbeeld om de lengte van een array te vinden met behulp van for loop, foreach loop en while-lus.

Invoer:

$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

Output:

Hash-tafel

Hash-tabel wordt gebruikt om een ​​gestructureerde array te implementeren. In de hashtabel worden de waarden opgeslagen in een sleutel / waarde-indeling. Ze worden ook wel Dictionary of Associative array genoemd.

Syntaxis:

()

Of

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

Waar key1, key2 en key3 de sleutels zijn en test1, test2 en test3 de waarden zijn.

Invoer :

$testhashtable

Output:

De sleutel of de waarden zijn als volgt toegankelijk met de operator .dot

Invoer:

$testhashtable.keys

Output:

Invoer:

$testhashtable.Values

Output:

Voorbeeld

Hierna volgt een voorbeeld om alle hashtable-sleutels en hashtable-waarden te vinden.

Invoer:

$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

Output:

Conclusie - Array in PowerShell

Het belangrijkste voordeel van een array is geheugenbeheer. Ze zijn rechtstreeks toegankelijk vanuit de cache, wat helpt bij het sneller ophalen. Ze zijn herbruikbaar, als eenmaal is verklaard dat ze meerdere keren kunnen worden hergebruikt.

Aanbevolen artikelen

Dit is een gids voor Array in PowerShell. Hier bespreken we de introductie en de implementatie van een array, arraylijst en hashtabel in PowerShell. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. PowerShell versus CMD
  2. Top 7 versies van PowerShell
  3. Voordelen van Array
  4. Belangrijkste verschil tussen PowerShell en Bash

Categorie: