Wprowadzenie do tablicy w PowerShell

Tablica jest rodzajem struktury danych, której można użyć do przechowywania kolekcji elementów, kolekcja elementów może być tego samego typu danych lub różnych. Dostęp do elementów tablicy można uzyskać za pomocą indeksu. Indeks tablicy zwykle zaczyna się od 0, więc aby uzyskać dostęp do pierwszego elementu, musisz użyć indeksu (0). Zwykle tylko dwie operacje mogą być wykonywane na tablicy, tj. Dodawanie elementu do tablicy lub usuwanie elementu. W tym artykule poznamy tablicę w PowerShell.

Definiowanie tablicy w PowerShell

Tablicę można zdefiniować na jeden z następujących sposobów:

@ () Jest jednym ze sposobów definiowania tablicy.

Przykład:

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

  • Tablicę można również utworzyć jako listę oddzieloną przecinkami.

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

  • Tablicę można utworzyć dla określonego elementu typu danych w następujący sposób:

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

Powyżej jest tablicą liczb całkowitych i może przechowywać tylko wartości całkowite.

Dostęp do tablicy

Zdefiniujmy tablicę,

Przykład:

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

$ test (0) zwróci test1, $ test (3) zwróci test4. Wiele języków pozwala na określenie tylko jednego indeksu, podczas gdy w PowerShell można używać wielu indeksów jednocześnie.

W powyższym teście $ (1, 3) powróci,

test2

test4

Operacje na tablicy

Dodawanie elementów do tablicy. Zobaczmy przykład dodawania elementu do istniejącej tablicy.

Przykład:

('welcome', 'home')

Aby dodać do powyższej tablicy, używany jest operator „+ =”.

$ test + = „Raj”

Uruchomienie testu $ powróci,

Witamy

Dom

Raj

Uzyskiwanie liczby tablic

Tutaj wyjaśniamy, jak użyć następującego wejścia, aby uzyskać liczbę tablic.

Wejście:

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

$ test.Count zwróci 6, która jest liczbą / długością tablicy.

1. Sortowanie elementów w tablicy

Operatora sortowania można użyć do sortowania elementów tablicy, jeśli elementy są tego samego typu danych.

Wejście:

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

Powyższe polecenie posortuje elementy w porządku rosnącym

Wynik:

Wejście:

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

Wynik:

2. Aktualizowanie elementu w tablicy

Indeks może być użyty do aktualizacji elementu w tablicy

Wejście:

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

Powyższe polecenie zmieni „jeden” na „zmieniono”. Wykonanie testu $ powróci

Wynik:

3. Znalezienie elementu w tablicy

Aby sprawdzić tablicę pod kątem wartości, można użyć operatora podobnego

Wejście:

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

Wynik:

Wielowymiarowa tablica w PowerShell

Możemy utworzyć tablicę wielowymiarową w następujący sposób,

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

Każda tablica ma jeden wiersz i trzy kolumny.

Zapętlanie tablicy

Podobnie jak w innych językach, pętla for może być używana do zapętlania elementów w tablicy.

Wejście:

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

Wyjście :

For-each może być użyty do wykonania akcji przeciwko każdemu elementowi w tablicy.

Wejście:

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

Wynik:

Lista tablic w PowerShell

Jedną z wad Array jest dodawanie do niej elementów, aby przezwyciężyć fakt, że mamy listę tablic.

Poniżej przedstawiono składnię, aby utworzyć listę macierzy,

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

Pierwszy wiersz jest sposobem na zainicjowanie Listy Array, a kolejne wiersze mają na celu dodanie elementów do ArrayList

Array vs. Performance List Array

Poniższe przykłady pokazują różnicę w wydajności podczas wykonywania operacji na tablicy i liście tablic

Wejście:

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

Pierwsze polecenie wykonuje operację na tablicy, a trzeci wiersz robi to samo na liście tablic.

Wynik:

  • Wydajność macierzy

  • Wydajność listy tablic

Wydajność listy tablic jest szybsza i lepsza niż tablicy.

Przykład tablicy w PowerShell

Poniżej znajduje się przykład znalezienia długości tablicy przy użyciu pętli for, foreach i while.

Wejście:

$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

Wynik:

Tabela mieszania

Tabela skrótu służy do implementacji tablicy strukturalnej. W tabeli skrótów wartości są przechowywane w formacie klucz-wartość. Są one również znane jako Słownik lub tablica asocjacyjna.

Składnia:

()

Lub

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

Gdzie klucz1, klucz2 i klucz3 to klucze, a test1, test2 i test3 to wartości.

Wejście :

$testhashtable

Wynik:

Dostęp do klucza lub wartości można uzyskać w następujący sposób za pomocą operatora .dot

Wejście:

$testhashtable.keys

Wynik:

Wejście:

$testhashtable.Values

Wynik:

Przykład

Poniżej znajduje się przykład znalezienia wszystkich kluczy i wartości tablicy mieszającej.

Wejście:

$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

Wynik:

Wniosek - tablica w PowerShell

Główną zaletą macierzy jest zarządzanie pamięcią. Dostęp do nich można uzyskać bezpośrednio z pamięci podręcznej, co pomaga w szybszym pobieraniu. Można je ponownie wykorzystać, gdy zostanie zadeklarowane, mogą być wielokrotnie użyte.

Polecane artykuły

Jest to przewodnik po tablicy w PowerShell. Tutaj omawiamy wprowadzenie i implementację tablicy, listy tablic i tabeli skrótów w PowerShell. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. PowerShell vs CMD
  2. Top 7 wersji PowerShell
  3. Zalety macierzy
  4. Kluczowa różnica między PowerShell i Bash

Kategoria: