Einführung in Array in PowerShell
Das Array ist eine Art Datenstruktur, in der eine Auflistung von Elementen gespeichert werden kann. Die Auflistung von Elementen kann entweder den gleichen oder einen anderen Datentyp haben. Auf die Elemente in einem Array kann über den Index zugegriffen werden. Der Index des Arrays beginnt normalerweise bei 0. Um auf das erste Element zuzugreifen, müssen Sie den Index (0) verwenden. In der Regel können nur zwei Operationen in einem Array ausgeführt werden, z. B. Hinzufügen eines Elements zum Array oder Entfernen eines Elements. In diesem Artikel erfahren Sie mehr über das Array in PowerShell.
Definieren eines Arrays in PowerShell
Ein Array kann auf eine der folgenden Arten definiert werden:
Das @ () ist eine der Möglichkeiten, ein Array zu definieren.
Beispiel:
$Subject = @('History', 'Geo', 'Maths')
- Ein Array kann auch als durch Kommas getrennte Liste erstellt werden.
$test='testone', 'testtwo', 'testthree'
- Ein Array kann für ein bestimmtes Datentypelement wie folgt erstellt werden:
(int()) $numbersarray = 1, 2, 3, 4, 5
Das obige ist ein Integer-Array und kann nur Integer-Werte enthalten.
Zugriff auf ein Array
Definieren wir ein Array,
Beispiel:
('test1', 'test2', 'test3', 'test4')
$ test (0) gibt test1 zurück, $ test (3) gibt test4 zurück. In vielen Sprachen kann nur ein Index angegeben werden, während in PowerShell mehrere Indizes gleichzeitig verwendet werden können.
Im obigen $ test (1, 3) wird zurückgegeben,
test2
test4
Operationen auf einem Array
Hinzufügen von Elementen zu einem Array. Sehen wir uns ein Beispiel an, wie Sie einem vorhandenen Array ein Element hinzufügen.
Beispiel:
('welcome', 'home')
Um das obige Array zu ergänzen, wird der Operator '+ =' verwendet.
$ test + = 'Raj'
Ausführen von $ test wird zurückgegeben,
herzlich willkommen
Zuhause
Raj
Abrufen der Anzahl eines Arrays
Hier erklären wir Ihnen, wie Sie mit der folgenden Eingabe die Anzahl eines Arrays ermitteln.
Eingang:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count gibt 6 zurück, was der Anzahl / Länge des Arrays entspricht.
1. Sortieren der Elemente in einem Array
Mit dem Sortieroperator können Sie die Elemente eines Arrays sortieren, wenn die Elemente vom gleichen Datentyp sind.
Eingang:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Der obige Befehl sortiert die Elemente in aufsteigender Reihenfolge
Ausgabe:
Eingang:
$test |sort -Descending will sort the elements in the descending order
Ausgabe:
2. Aktualisieren eines Elements in einem Array
Mit dem Index kann ein Element im Array aktualisiert werden
Eingang:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Der obige Befehl ändert die 'Eins' in 'Geändert'. Das Ausführen von $ test wird zurückgegeben
Ausgabe:
3. Suchen eines Elements in einem Array
Um ein Array auf Wert zu prüfen, kann der Operator like verwendet werden
Eingang:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Ausgabe:
Mehrdimensionales Array in PowerShell
Wir können ein mehrdimensionales Array wie folgt erstellen:
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Jedes Array hat eine Zeile und drei Spalten.
Ein Array durchschleifen
Wie in allen anderen Sprachen kann die for-Schleife zum Schleifen von Elementen in einem Array verwendet werden.
Eingang:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Ausgabe :
For-each kann verwendet werden, um eine Aktion für jedes Element im Array auszuführen.
Eingang:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Ausgabe:
Array-Liste in PowerShell
Einer der Nachteile von Array ist das Hinzufügen von Elementen, um zu vermeiden, dass wir eine Array-Liste haben.
Das Folgende ist die Syntax zum Erstellen einer Array-Liste,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
In der ersten Zeile wird eine Array-Liste initialisiert und in den folgenden Zeilen werden der ArrayList Elemente hinzugefügt
Array vs Array List Leistung
Die folgenden Beispiele zeigen den Leistungsunterschied beim Ausführen eines Vorgangs für ein Array und eine Array-Liste
Eingang:
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
Der erste Befehl führt eine Operation für das Array aus und die dritte Zeile für eine Array-Liste.
Ausgabe:
- Leistung des Arrays
- Leistung der Array-Liste
Die Leistung der Array-Liste ist schneller und besser als die des Arrays.
Beispiel für ein Array in PowerShell
Das folgende Beispiel zeigt die Länge eines Arrays mit for-Schleife, foreach-Schleife und while-Schleife.
Eingang:
$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
Ausgabe:
Hash-tabelle
Hash-Tabelle wird verwendet, um ein strukturiertes Array zu implementieren. In der Hash-Tabelle werden die Werte in einem Schlüsselwertformat gespeichert. Sie werden auch als Dictionary oder Associative Array bezeichnet.
Syntax:
()
Oder
( key1=”test1”;key2=”test2”;key3=”test3”)
Wobei key1, key2 und key3 die Schlüssel und test1, test2 und test3 die Werte sind.
Eingabe :
$testhashtable
Ausgabe:
Auf den Schlüssel oder die Werte kann folgendermaßen mit dem Operator .dot zugegriffen werden
Eingang:
$testhashtable.keys
Ausgabe:
Eingang:
$testhashtable.Values
Ausgabe:
Beispiel
Das folgende Beispiel zeigt alle Hashtabellenschlüssel und Hashtabellenwerte.
Eingang:
$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
Ausgabe:
Fazit - Array in PowerShell
Der Hauptvorteil eines Arrays ist die Speicherverwaltung. Sie können direkt aus dem Cache abgerufen werden, was den Abruf beschleunigt. Sie sind wiederverwendbar, sobald sie deklariert wurden, können sie mehrmals wiederverwendet werden.
Empfohlene Artikel
Dies ist eine Anleitung zu Array in PowerShell. Hier diskutieren wir die Einführung und Implementierung eines Arrays, einer Array-Liste und einer Hash-Tabelle in PowerShell. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- PowerShell gegen CMD
- Top 7-Versionen von PowerShell
- Vorteile des Arrays
- Hauptunterschied zwischen PowerShell und Bash