Como Criar um Array Vazio de Arrays no PowerShell

  1. Compreendendo Arrays no PowerShell
  2. Como Criar um Array Vazio de Arrays no PowerShell Usando o Operador de Subexpressão de Array @()
  3. Como Criar um Array Vazio de Arrays no PowerShell Usando o Cmdlet New-Object Com a Classe System.Collections.ArrayList
  4. Como Criar um Array Vazio de Arrays no PowerShell Usando a Hashtable @{}
  5. Conclusão
Como Criar um Array Vazio de Arrays no PowerShell

PowerShell, com suas versáteis capacidades de script, oferece várias maneiras de criar e manipular arrays.

Um requisito comum é criar um array vazio que possa conter outros arrays. Esse cenário geralmente surge quando você precisa organizar dados em uma estrutura multidimensional.

Neste artigo, exploraremos vários métodos para criar um array vazio de arrays no PowerShell.

Compreendendo Arrays no PowerShell

Antes de nos aprofundarmos na criação de um array vazio de arrays, é crucial entender o básico dos arrays no PowerShell. Um array no PowerShell é uma estrutura de dados que armazena uma coleção de elementos.

Esses elementos podem ser de qualquer tipo de dado, e os arrays podem redimensionar-se dinamicamente para acomodar novos elementos conforme necessário. O PowerShell fornece várias maneiras de trabalhar com arrays, incluindo criar, acessar e modificar seu conteúdo.

Aqui está um exemplo básico de como criar um array no PowerShell:

$myArray = @(1, 2, 3, 4, 5)
$myArray

Neste exemplo, $myArray é atribuído a um array contendo cinco inteiros.

Saída:

Arrays no PowerShell

No PowerShell, os arrays podem conter elementos de qualquer tipo, incluindo outros arrays. Um array de arrays, também conhecido como um array irregular, é uma estrutura de dados que consiste em múltiplos arrays, onde cada elemento do array principal contém outro array.

Essa estrutura permite que você armazene dados heterogêneos em um formato multidimensional, tornando mais fácil gerenciar e acessar elementos com base em diferentes critérios.

Os arrays no PowerShell são indexados a partir de zero, o que significa que o primeiro elemento é acessado usando o índice 0, o segundo elemento usando o índice 1 e assim por diante. Os arrays do PowerShell podem redimensionar-se dinamicamente, permitindo flexibilidade na gestão de dados.

Como Criar um Array Vazio de Arrays no PowerShell Usando o Operador de Subexpressão de Array @()

O operador de subexpressão de array @() é uma ferramenta versátil no PowerShell que pode ser usada para várias operações com arrays, incluindo a criação de arrays vazios. Quando usado para criar um array vazio de arrays, ele inicializa um contêiner de array capaz de conter outros arrays como seus elementos.

Usando este operador junto com a vírgula , para separar os elementos, podemos construir uma estrutura de array onde cada elemento é, ele mesmo, um array.

Vamos ver um exemplo de código para ilustrar como criar um array vazio de arrays usando o operador de subexpressão de array @().

$arrayOfArrays = @()

Aqui, inicializamos um array vazio chamado $arrayOfArrays usando o operador de subexpressão de array @(). Isso cria um contêiner de array vazio capaz de conter outros arrays.

Como nenhum elemento é fornecido dentro do operador @(), o array resultante é vazio.

Adicionando Arrays ao Array Vazio

Depois de criar o array vazio de arrays, você pode adicionar arrays individuais a ele como elementos. Isso é comumente feito usando o operador +=, que anexa um elemento a um array existente:

$arrayOfArrays += , (1, 2, 3)
$arrayOfArrays += , (4, 5)
$arrayOfArrays += , (6, 7, 8, 9)

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

Neste segmento de código, adicionamos subarrays ao $arrayOfArrays. Para garantir que cada subarray seja tratado como um único elemento, precedemos com uma vírgula ,.

Isso impede que o PowerShell concatene os subarrays em um único array. Cada subarray é envolto entre parênteses e separado por vírgulas.

Adicionamos três subarrays com comprimentos variados para demonstrar flexibilidade.

Finalmente, exibimos o conteúdo do $arrayOfArrays para verificar sua estrutura e conteúdo. O PowerShell exibe o array, mostrando cada elemento como um subarray separado.

Saída do Código:

Array vazio de arrays no PowerShell usando @()

A saída demonstra que $arrayOfArrays é, de fato, um array contendo múltiplos subarrays, cada um mantendo um conjunto distinto de valores. Isso confirma a criação bem-sucedida de um array vazio de arrays usando o operador de subexpressão de array @() no PowerShell.

Como Criar um Array Vazio de Arrays no PowerShell Usando o Cmdlet New-Object Com a Classe System.Collections.ArrayList

Outra abordagem que podemos usar para criar um array vazio de arrays para armazenar dados estruturados é o cmdlet New-Object em conjunto com a classe System.Collections.ArrayList.

A classe System.Collections.ArrayList no PowerShell fornece uma estrutura de dados semelhante a um array flexível e dinâmica. Ao utilizar o cmdlet New-Object, podemos instanciar uma instância desta classe para criar um array vazio.

Subsequentemente, podemos adicionar subarrays como elementos a este array de arrays. Esta abordagem permite redimensionamento dinâmico e gestão eficiente dos arrays, tornando-a adequada para vários cenários de script.

Vamos ver como podemos criar um array vazio de arrays usando esta abordagem:

$arrayOfArrays = New-Object System.Collections.ArrayList

Aqui, usamos o cmdlet New-Object para instanciar uma nova instância da classe System.Collections.ArrayList. Isso cria um contêiner de array vazio capaz de manter outros arrays.

A variável $arrayOfArrays agora referencia este objeto ArrayList vazio.

Acessando Elementos do Array de Arrays

Após criar o array vazio, agora podemos acessar e manipular seus elementos conforme necessário:

$arrayOfArrays.Add(@(11, 12, 13))
$arrayOfArrays.Add(@(14, 15))
$arrayOfArrays.Add(@(16, 17, 18, 19))

Write-Host "First Array:"
$arrayOfArrays[0]

Write-Host "Second Array:"
$arrayOfArrays[1]

Write-Host "Third Array:"
$arrayOfArrays[2]

Neste segmento de código, adicionamos subarrays ao objeto $arrayOfArrays ArrayList. Usamos o método .Add() do objeto ArrayList para anexar subarrays ao array.

Cada subarray é envolto entre @() para garantir que seja tratado como um único elemento. Adicionamos três subarrays com comprimentos variados para mostrar a flexibilidade desta abordagem.

Finalmente, exibimos o conteúdo do objeto $arrayOfArrays ArrayList para verificar sua estrutura e conteúdo. O PowerShell exibe o ArrayList, mostrando cada elemento como um subarray separado.

Saída do Código:

Array Vazia de Arrays no PowerShell Usando New-Object Com System.Collections.ArrayList

A saída confirma que $arrayOfArrays é um ArrayList contendo múltiplos subarrays, cada um mantendo conjuntos distintos de valores. Isso demonstra a criação bem-sucedida de um array vazio de arrays usando o cmdlet New-Object com a classe System.Collections.ArrayList no PowerShell.

Como Criar um Array Vazio de Arrays no PowerShell Usando a Hashtable @{}

No PowerShell, hashtables (@{}) fornecem uma maneira conveniente de armazenar pares chave-valor. Embora tipicamente usadas para pares chave-valor, também podemos utilizar hashtables para criar um array vazio de arrays associando cada chave a um array vazio.

Este método fornece uma estrutura organizacional clara para gerenciar múltiplos arrays e permite fácil acesso e manipulação dos elementos do array.

Aqui está como criar um array vazio de arrays usando a sintaxe da hashtable @{}:

$arrayOfArrays = @{}

Adicionando Elementos ao Array de Arrays

Agora que criamos o array vazio de arrays usando a abordagem da hashtable, podemos acessar e manipular seus elementos conforme necessário:

$arrayOfArrays["Array1"] += @(1, 2, 3)
$arrayOfArrays["Array2"] += @(4, 5)
$arrayOfArrays["Array3"] += @(6, 7, 8, 9)
$arrayOfArrays

Neste segmento de código, adicionamos subarrays aos arrays vazios dentro de $arrayOfArrays. Usamos indexação de array para acessar cada array vazio por sua chave ("Array1", "Array2", "Array3") e, em seguida, anexamos subarrays usando o operador +=.

Cada subarray é envolto entre @() para garantir que seja tratado como um único elemento.

Finalmente, exibimos o conteúdo da hashtable $arrayOfArrays para verificar sua estrutura e conteúdo. O PowerShell exibe a hashtable, mostrando cada par chave-valor, onde os valores são arrays contendo subarrays.

Saída do Código:

Array vazio de Arrays no PowerShell usando @{}

A saída confirma que $arrayOfArrays é uma hashtable contendo três chaves ("Array1", "Array2", "Array3"), cada uma associada a um array contendo conjuntos distintos de valores.

Conclusão

Em conclusão, criar um array vazio de arrays no PowerShell oferece versatilidade e flexibilidade para gerenciar estruturas de dados complexas em tarefas de scripting e automação.

Exploramos três métodos distintos para alcançar isso: usando o operador de subexpressão de array @(), o cmdlet New-Object com a classe System.Collections.ArrayList, e reaproveitando a sintaxe da hashtable @{}. Cada método apresenta suas vantagens e considerações, atendendo a diferentes preferências e requisitos.

O operador de subexpressão de array @() fornece uma abordagem concisa e direta, aproveitando a sintaxe nativa do PowerShell para criar arrays vazios de forma eficiente. Enquanto isso, o cmdlet New-Object com a classe System.Collections.ArrayList oferece capacidades de redimensionamento dinâmico e gestão, adequado para cenários que exigem frequência de manipulação de arrays.

Finalmente, reaproveitar a sintaxe da hashtable @{}, embora não convencional, fornece simplicidade e legibilidade em determinados contextos.

Independentemente do método escolhido, dominar a criação de arrays vazios de arrays capacita os usuários do PowerShell com habilidades essenciais para desenvolver scripts robustos e automação.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artigo relacionado - PowerShell Array