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ù -

  1. PowerShell vs CMD
  2. Le 7 migliori versioni di PowerShell
  3. Vantaggi dell'array
  4. Differenza chiave tra PowerShell e Bash

Categoria: