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 -
- PowerShell vs CMD
- Top 7 wersji PowerShell
- Zalety macierzy
- Kluczowa różnica między PowerShell i Bash