HOWTO · PowerShell

PowerShell에서 빈 배열의 배열을 생성하는 방법

이 글에서는 서브 배열을 저장하기 위한 빈 배열을 만드는 방법을 보여줍니다. 우리는 배열을 만들고 값 할당의 기초를 논의한 다음, 마지막으로 빈 배열을 만드는 방법을 살펴보겠습니다.

PowerShell은 다재다능한 스크립팅 기능을 통해 배열을 생성하고 조작하는 여러 가지 방법을 제공합니다.

일반적인 요구 사항 중 하나는 다른 배열을 유지할 수 있는 빈 배열을 생성하는 것입니다. 이러한 시나리오는 데이터를 다차원 구조로 정리해야 할 때 자주 발생합니다.

이 기사에서는 PowerShell에서 배열의 빈 배열을 생성하는 다양한 방법을 탐구합니다.

PowerShell의 배열 이해하기

빈 배열의 배열을 생성하기 전에 PowerShell에서 배열의 기본 개념을 이해하는 것이 중요합니다. PowerShell의 배열은 요소 모음을 저장하는 데이터 구조입니다.

이 요소들은 어떤 데이터 유형일 수 있으며, 배열은 필요에 따라 새로운 요소를 수용하기 위해 동적으로 크기를 조정할 수 있습니다. PowerShell은 배열을 생성하고 액세스하고 내용을 수정하는 방법을 포함하여 배열 작업을 수행하는 여러 가지 방법을 제공합니다.

PowerShell에서 배열을 생성하는 기본 예는 다음과 같습니다:

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

이 예에서 $myArray는 다섯 개의 정수를 포함하는 배열로 할당됩니다.

출력:

PowerShell의 배열

PowerShell에서 배열은 다른 배열을 포함하는 등 어떤 유형의 요소도 포함할 수 있습니다. 배열의 배열, 즉 조각 배열은 여러 배열로 구성된 데이터 구조로, 기본 배열의 각 요소가 다른 배열을 포함합니다.

이 구조는 이질적인 데이터를 다차원 형식으로 저장하여 다양한 기준에 따라 요소를 더 쉽게 관리하고 액세스할 수 있게 합니다.

PowerShell의 배열은 0 인덱싱되며, 즉 첫 번째 요소는 인덱스 0을 사용하여 액세스하고 두 번째 요소는 인덱스 1을 사용하여 액세스합니다. PowerShell 배열은 동적으로 크기를 조정할 수 있어 데이터 관리의 유연성을 제공합니다.

@() 배열 서브 표현식 연산자를 사용하여 PowerShell에서 빈 배열의 배열 생성하기

@() 배열 서브 표현식 연산자는 PowerShell에서 다양한 배열 작업, 특히 빈 배열을 생성하기 위해 사용할 수 있는 다재다능한 도구입니다. 빈 배열의 배열을 생성하는 데 사용될 때 다른 배열을 요소로 포함할 수 있는 배열 컨테이너를 초기화합니다.

이 연산자를 사용하여 요소를 구분하기 위해 쉼표 ,를 사용하면 각 요소가 그 자체로 배열인 배열 구조를 구축할 수 있습니다.

@() 배열 서브 표현식 연산자를 사용하여 빈 배열의 배열을 생성하는 방법을 보여주는 코드 예제를 살펴보겠습니다.

$arrayOfArrays = @()

여기에서는 @() 배열 서브 표현식 연산자를 사용하여 $arrayOfArrays라는 빈 배열을 초기화합니다. 이는 다른 배열을 포함할 수 있는 빈 배열 컨테이너를 생성합니다.

@() 연산자 내에 요소가 제공되지 않으므로 생성된 배열은 비어 있습니다.

빈 배열에 배열 추가하기

빈 배열의 배열을 생성한 후에는 개별 배열을 요소로 추가할 수 있습니다. 이는 보통 += 연산자를 사용하여 기존 배열에 요소를 추가하는 데 사용됩니다:

$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]

이 코드 세그먼트에서는 $arrayOfArrays에 하위 배열을 추가합니다. 각 하위 배열이 단일 요소로 처리되도록 하려면 각 하위 배열 앞에 쉼표 ,를 붙입니다.

이것은 PowerShell이 하위 배열을 단일 배열로 연결하지 않도록 합니다. 각 하위 배열은 괄호로 묶여 있으며 쉼표로 구분됩니다.

유연성을 보여주기 위해 서로 다른 길이를 가진 세 개의 하위 배열을 추가합니다.

마지막으로 $arrayOfArrays의 내용을 표시하여 그 구조와 내용을 확인합니다. PowerShell은 배열을 출력하여 각 요소를 개별 하위 배열로 보여줍니다.

코드 출력:

PowerShell에서 @()를 사용하여 비어 있는 배열의 배열 만들기

출력은 $arrayOfArrays가 실제로 여러 개의 하위 배열을 포함하는 배열임을 보여주며, 각 하위 배열은 고유한 값 집합을 포함하고 있습니다. 이는 PowerShell에서 @() 배열 서브 표현식 연산자를 사용하여 빈 배열의 배열을 성공적으로 생성했음을 확인합니다.

New-Object Cmdlet과 System.Collections.ArrayList 클래스를 사용하여 PowerShell에서 빈 배열의 배열 생성하기

구조화된 데이터를 저장하기 위해 빈 배열의 배열을 생성하는 데 사용할 수 있는 또 다른 접근 방식은 System.Collections.ArrayList 클래스와 함께 New-Object cmdlet을 사용하는 것입니다.

PowerShell의 System.Collections.ArrayList 클래스는 유연하고 동적인 배열과 같은 데이터 구조를 제공합니다. New-Object cmdlet을 활용하면 이 클래스의 인스턴스를 생성하여 빈 배열을 만들 수 있습니다.

그 후에는 이 배열의 배열에 배열을 요소로 추가할 수 있습니다. 이 접근 방식은 동적 크기 조정과 배열의 효율적인 관리를 가능하게 하여 다양한 스크립팅 시나리오에 적합합니다.

이 접근 방식을 사용하여 빈 배열의 배열을 생성하는 방법을 살펴보겠습니다:

$arrayOfArrays = New-Object System.Collections.ArrayList

여기에서는 New-Object cmdlet을 사용하여 System.Collections.ArrayList 클래스의 새 인스턴스를 생성합니다. 이는 다른 배열을 포함할 수 있는 빈 배열 컨테이너를 생성합니다.

변수 $arrayOfArrays는 이제 이 빈 ArrayList 객체를 참조합니다.

배열의 배열의 요소에 접근하기

빈 배열을 생성한 후 이제 필요에 따라 그 요소에 접근하고 조작할 수 있습니다:

$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]

이 코드 세그먼트에서는 $arrayOfArrays ArrayList 객체에 하위 배열을 추가합니다. 배열에 하위 배열을 추가하기 위해 ArrayList 객체의 .Add() 메서드를 사용합니다.

각 하위 배열은 단일 요소로 처리되도록 @() 내에 포함됩니다. 이 접근 방식의 유연성을 보여주기 위해 서로 다른 길이의 세 개의 하위 배열을 추가합니다.

마지막으로 $arrayOfArrays ArrayList 객체의 내용을 표시하여 그 구조와 내용을 확인합니다. PowerShell은 ArrayList를 출력하여 각 요소를 개별 하위 배열로 보여줍니다.

코드 출력:

파워쉘에서 System.Collections.ArrayList를 사용하여 배열의 빈 배열 만들기 {CODE_BLOCK_8}

출력은 $arrayOfArrays가 여러 개의 하위 배열을 포함하는 ArrayList임을 확인하며, 각 하위 배열은 고유한 값 세트를 포함합니다. 이는 PowerShell에서 System.Collections.ArrayList 클래스와 함께 New-Object cmdlet을 사용하여 빈 배열의 배열을 성공적으로 생성했음을 보여줍니다.

@{} 해시테이블을 사용하여 PowerShell에서 빈 배열의 배열 생성하기

PowerShell에서 해시테이블(@{})은 키-값 쌍을 저장하는 편리한 방법을 제공합니다. 일반적으로 키-값 쌍에 사용되지만, 각 키를 빈 배열에 연결하여 빈 배열의 배열을 생성하는 데도 해시테이블을 활용할 수 있습니다.

이 방법은 여러 배열을 관리하기 위한 명확한 조직 구조를 제공하며 배열 요소에 쉽게 접근하고 조작할 수 있게 합니다.

다음은 @{} 해시테이블 구문을 사용하여 빈 배열의 배열을 생성하는 방법입니다:

$arrayOfArrays = @{}

배열의 배열에 요소 추가하기

이제 해시테이블 접근 방식을 사용하여 빈 배열의 배열을 생성했으므로 필요에 따라 그 요소에 접근하고 조작할 수 있습니다:

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

이 코드 세그먼트에서는 $arrayOfArrays 내의 빈 배열에 하위 배열을 추가합니다. 우리는 배열 인덱싱을 사용하여 각 빈 배열을 키("Array1", "Array2", "Array3")로 접근한 후, += 연산자를 사용하여 하위 배열을 추가합니다.

각 하위 배열은 단일 요소로 처리되도록 @() 내에 포함되어 있습니다.

마지막으로 $arrayOfArrays 해시테이블의 내용을 표시하여 그 구조와 내용을 확인합니다. PowerShell은 해시테이블을 출력하여 각 키-값 쌍을 보여주며, 여기에 값은 하위 배열을 포함하는 배열입니다.

코드 출력:

PowerShell에서 @{}를 사용하여 배열의 배열 비우기

출력은 $arrayOfArrays가 세 개의 키("Array1", "Array2", "Array3")를 포함하는 해시테이블임을 확인하며, 각 키는 고유한 값 세트를 포함하는 배열과 연결되어 있습니다.

결론

결론적으로, PowerShell에서 빈 배열의 배열을 생성하는 것은 스크립팅 및 자동화 작업에서 복잡한 데이터 구조를 관리하기 위한 다재다능함과 유연성을 제공합니다.

우리는 이를 달성하기 위한 세 가지 서로 다른 방법을 탐구했습니다: @() 배열 서브 표현식 연산자 사용, System.Collections.ArrayList 클래스를 가진 New-Object cmdlet 사용, 및 @{} 해시테이블 구문 재사용. 각 방법은 장점과 고려 사항을 제시하며, 서로 다른 선호도와 요구 사항을 충족합니다.

@() 배열 서브 표현식 연산자는 빈 배열을 효율적으로 생성하기 위해 네이티브 PowerShell 구문을 활용하는 간결하고 직접적인 접근 방식을 제공합니다. 한편, New-Object cmdlet과 System.Collections.ArrayList 클래스는 동적 크기 조정 및 관리 기능을 제공하여 빈번한 배열 조작이 필요한 시나리오에 적합합니다.

마지막으로 @{} 해시테이블 구문을 재사용하는 것은 비전형적일 수 있으나 특정 상황에서 단순성과 가독성을 제공합니다.

선택한 방법에 관계없이, 빈 배열의 배열 생성을 마스터하면 PowerShell 사용자가 강력한 스크립트 및 자동화를 개발하기 위한 필수 기술을 갖추게 됩니다.