PowerShell

PowerShellで配列を扱う基礎知識

この記事ではPowerShellで配列を扱う基本的な方法について解説します。

配列の生成、要素へのアクセス、追加や削除などの操作を具体例を交えながら分かりやすく説明します。

初めての方にも理解しやすい内容で、PowerShellの作業効率を高めるためのヒントが得られます。

配列の作成方法

リテラルを使用した初期化

PowerShellでは配列を手軽に作成するために、リテラル構文を使うことができます。

値をカンマで区切り、全体を@(...)で囲むことで配列を初期化します。

以下のサンプルコードでは、文字列の配列を作成し、その内容を表示しています。

# 配列リテラルを用いて初期化する例

$array = @( "apple", "banana", "cherry" )

# 配列の内容を表示

$array
apple
banana
cherry

配列オブジェクトによる生成

固定サイズの配列ではなく、動的に要素を追加・削除できるArrayListオブジェクトを使用する方法もあります。

サンプルコードでは、New-Objectを使ってSystem.Collections.ArrayListのインスタンスを生成し、要素を追加しています。

# ArrayListオブジェクトを利用して配列を生成する例

$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("dog") | Out-Null   # 要素を追加
$arrayList.Add("cat") | Out-Null
$arrayList.Add("bird") | Out-Null

# 配列の内容を表示

$arrayList
dog
cat
bird

配列へのアクセス方法

インデックス指定でのアクセス

単一要素の取得方法

配列の各要素はインデックス(0から始まる番号)でアクセスできます。

以下の例では、$arrayのインデックス1の要素を取得しています。

# 配列から単一要素をインデックス指定で取得する例

$array = @( "red", "green", "blue" )
$color = $array[1]   # インデックス1の要素 "green" を取得
$color
green

複数要素の取得方法

複数のインデックスをカンマで区切って指定することで、複数要素を同時に取得することができます。

以下のサンプルでは、インデックス02の要素を取得しています。

# 複数要素をインデックス指定で取得する例

$array = @( "red", "green", "blue", "yellow" )
$colors = $array[0,2]   # "red" と "blue" を取得
$colors
red
blue

範囲指定によるアクセス

配列の一部分を範囲指定で取得する場合、..演算子を利用します。

以下の例では、インデックス1から3までの要素を抽出しています。

# 配列の範囲指定によるアクセス例

$array = @( "alpha", "beta", "gamma", "delta" )
$subset = $array[1..3]   # インデックス1から3までの要素 "beta", "gamma", "delta" を取得
$subset
beta
gamma
delta

配列の編集操作

要素の追加

単一要素の追加

PowerShellの配列は基本的に固定サイズですが、+演算子を用いることで新たな要素を追加した新しい配列を生成できます。

下記の例では、既存の配列に単一の要素を追加しています。

# 単一要素を追加する例(新しい配列を生成)

$array = @( "circle", "square" )
$array = $array + "triangle"
$array
circle
square
triangle

複数要素の追加

複数の要素を追加する場合も、同じく+演算子を利用して別の配列を連結します。

以下のサンプルでは、2つの新たな要素を追加しています。

# 複数要素を追加する例(新しい配列を生成)

$array = @( "circle", "square" )
$array = $array + @( "triangle", "rectangle" )
$array
circle
square
triangle
rectangle

要素の削除

インデックス指定での削除

固定サイズの配列から要素を削除することは直接はできません。

そのため、動的な編集が可能なArrayListを使用して、インデックスで要素を削除する方法を紹介します。

下記の例では、インデックス1の要素を削除しています。

# ArrayListを使ってインデックス指定で要素を削除する例

$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("one") | Out-Null
$arrayList.Add("two") | Out-Null
$arrayList.Add("three") | Out-Null

# インデックス1の要素 "two" を削除

$arrayList.RemoveAt(1)
$arrayList
one
three

値指定による削除

ArrayListでは、削除したい要素の値を指定して削除することも可能です。

以下の例では、値が"banana"の要素を削除しています。

# ArrayListを使って値指定で要素を削除する例

$arrayList = New-Object System.Collections.ArrayList
$arrayList.Add("apple") | Out-Null
$arrayList.Add("banana") | Out-Null
$arrayList.Add("cherry") | Out-Null

# 要素 "banana" を削除

$arrayList.Remove("banana")
$arrayList
apple
cherry

配列の変換と結合操作

配列の結合方法

複数の配列を結合する際は、+演算子を使用します。

以下のサンプルでは、2つの配列$array1$array2を結合し、1つの配列としてまとめています。

# 複数の配列を結合する例

$array1 = @( "A", "B" )
$array2 = @( "C", "D" )
$mergedArray = $array1 + $array2
$mergedArray
A
B
C
D

配列の分割方法

配列を分割する際には、範囲指定を使って必要な部分だけを抽出する方法が有効です。

以下の例では、6要素からなる配列を前半と後半に分割しています。

# 配列を範囲指定で分割する例

$array = @( 1, 2, 3, 4, 5, 6 )

# 最初の3要素を抽出

$firstHalf = $array[0..2]

# 後半の要素を抽出

$secondHalf = $array[3..5]

# 前半の要素を表示

$firstHalf

# 後半の要素を表示

$secondHalf
1
2
3
4
5
6

まとめ

この記事では、PowerShellでの配列操作の基本について解説しました。

配列の初期化にはリテラルやArrayListを使う方法があり、インデックスや範囲指定での要素取得が可能です。

また、配列への要素追加、削除の方法や配列同士の結合・分割方法も具体的なサンプルコードとともに説明しました。

これにより、配列操作の基本を理解できる内容となっています。

関連記事

Back to top button
目次へ