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 -
- PowerShell versus CMD
- Top 7 versies van PowerShell
- Voordelen van Array
- Belangrijkste verschil tussen PowerShell en Bash