Introduzione all'array in PowerShell
L'array è un tipo di struttura di dati che può essere utilizzato per archiviare una raccolta di elementi, la raccolta di elementi può essere dello stesso tipo di dati o diversa. È possibile accedere agli elementi in un array usando l'indice. L'indice dell'array di solito inizia da 0, quindi per accedere al primo elemento è necessario utilizzare l'indice (0). In genere, su un array possono essere presenti solo due operazioni, ovvero l'aggiunta di un elemento all'array o la rimozione di un elemento. In questo articolo impareremo l'array in PowerShell.
Definizione di un array in PowerShell
Un array può essere definito in uno dei seguenti modi,
@ () È uno dei modi per definire un array.
Esempio:
$Subject = @('History', 'Geo', 'Maths')
- Un array può essere creato anche come un elenco separato da virgole.
$test='testone', 'testtwo', 'testthree'
- È possibile creare una matrice per un elemento di tipo di dati specifico come segue,
(int()) $numbersarray = 1, 2, 3, 4, 5
Quanto sopra è un array intero e può contenere solo valori interi.
Accesso a una matrice
Definiamo un array,
Esempio:
('test1', 'test2', 'test3', 'test4')
$ test (0) restituirà test1, $ test (3) restituirà test4. Molte lingue consentono di specificare un solo indice, mentre in PowerShell è possibile utilizzare contemporaneamente più indici.
Nel precedente $ test (1, 3) tornerà,
test2
test4
Operazioni su un array
Aggiunta di elementi a un array. Vediamo un esempio di come aggiungere un elemento a un array esistente.
Esempio:
('welcome', 'home')
Per aggiungere all'array sopra, viene utilizzato l'operatore '+ ='.
$ Test + = 'Raj'
L'esecuzione di $ test restituirà,
benvenuto
casa
Raj
Ottenere il conteggio di una matrice
Qui spieghiamo come utilizzare il seguente input per ottenere il conteggio di un array.
Ingresso:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count restituirà 6 che è il conteggio / lunghezza dell'array.
1. Ordinamento degli elementi in una matrice
L'operatore di ordinamento può essere utilizzato per ordinare gli elementi di un array se gli elementi sono dello stesso tipo di dati.
Ingresso:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Il comando sopra ordinerà gli elementi in ordine crescente
Produzione:
Ingresso:
$test |sort -Descending will sort the elements in the descending order
Produzione:
2. Aggiornamento dell'articolo in un array
L'indice può essere utilizzato per aggiornare un elemento nell'array
Ingresso:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Il comando sopra cambierà 'uno' in 'cambiato'. L'esecuzione di $ test tornerà
Produzione:
3. Trovare un elemento in una matrice
Per controllare un array per valore, è possibile utilizzare l'operatore simile
Ingresso:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Produzione:
Matrice multidimensionale in PowerShell
Possiamo creare un array multidimensionale come segue,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Ogni array ha una riga e tre colonne.
Avvolgimento di una matrice
Come in qualsiasi altra lingua, il ciclo for può essere utilizzato per eseguire il ciclo degli elementi in un array.
Ingresso:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Uscita :
For-each può essere utilizzato per eseguire un'azione su ciascun elemento dell'array.
Ingresso:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Produzione:
Elenco di array in PowerShell
Uno degli svantaggi di Array è l'aggiunta di elementi ad esso, per ovviare al fatto che abbiamo un elenco di array.
La seguente è la sintassi per creare un elenco di array,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
La prima riga è il modo per inizializzare un elenco di array e le righe successive devono aggiungere elementi all'arrayList
Array vs Array List Performance
Gli esempi seguenti mostrano la differenza nelle prestazioni durante l'esecuzione di un'operazione su un array e un elenco di array
Ingresso:
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
Il primo comando esegue un'operazione sull'array e la terza riga fa lo stesso su un elenco di array.
Produzione:
- Prestazioni di array
- Prestazioni dell'elenco di array
Le prestazioni dell'elenco di array sono più veloci e migliori di quelle dell'array.
Esempio di array in PowerShell
Di seguito è riportato un esempio per trovare la lunghezza di un array usando for loop, foreach loop e while loop.
Ingresso:
$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
Produzione:
Tabella hash
La tabella hash viene utilizzata per implementare un array strutturato. Nella tabella hash, i valori sono memorizzati in un formato chiave-valore. Sono anche noti come array Dictionary o Associative.
Sintassi:
()
O
( key1=”test1”;key2=”test2”;key3=”test3”)
Dove key1, key2 e key3 sono le chiavi e test1, test2 e test3 sono i valori.
Input :
$testhashtable
Produzione:
È possibile accedere alla chiave o ai valori come segue utilizzando l'operatore .dot
Ingresso:
$testhashtable.keys
Produzione:
Ingresso:
$testhashtable.Values
Produzione:
Esempio
Di seguito è riportato un esempio per trovare tutte le chiavi hashtable e i valori hashtable.
Ingresso:
$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
Produzione:
Conclusione - Matrice in PowerShell
Il vantaggio principale di un array è la gestione della memoria. È possibile accedervi direttamente dalla cache per un recupero più rapido. Sono riutilizzabili, una volta dichiarati possono essere riutilizzati più volte.
Articoli consigliati
Questa è una guida all'array in PowerShell. Qui discutiamo dell'introduzione e dell'implementazione di un array, un elenco di array e una tabella di hash in PowerShell. Puoi anche consultare i seguenti articoli per saperne di più -
- PowerShell vs CMD
- Le 7 migliori versioni di PowerShell
- Vantaggi dell'array
- Differenza chiave tra PowerShell e Bash