PowerShell で配列からアイテムを削除する

Rohan Timalsina 2023年6月21日
PowerShell で配列からアイテムを削除する

PowerShell 配列は固定サイズであり、変更できません。 これは、配列内の項目を追加または削除できないことを意味します。

最良の代替手段は、配列の代わりに ArrayList を使用することです。 ArrayList は固定サイズの長さを持たず、変更することができます。

この記事では、PowerShell で ArrayList を作成し、そこから項目を削除する方法を説明します。

PowerShell で Remove() メソッドを使用して ArrayList からアイテムを削除する

次の例では、アイテム SundayMonday、および Tuesday を持つ ArrayList $days を作成します。

[System.Collections.ArrayList]$days = "Sunday", "Monday", "Tuesday"

Get-Type() メソッドを使用して、変数の現在のデータ型を表示できます。

$days.GetType()

出力:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     ArrayList                                System.Object

出力は、ArrayList が正常に作成されたことを示しています。 以下のコマンドを実行すると、固定サイズかどうかを確認できます。

$days.IsFixedSize

出力:

False

False が返されました。これは、サイズが固定されていないことを意味します。

それでは、新しい項目 WednesdayArrayList $days に追加しましょう。 Add() メソッドは、ArrayList の末尾に新しいアイテムを追加します。

$days.Add("Wednesday")

新しいアイテムが追加されたインデックス番号を出力します。

3

以下を実行して、ArrayList に追加された項目を確認します。

$days

出力:

Sunday
Monday
Tuesday
Wednesday

ご覧のとおり、WednesdayArrayList $days に正常に追加されました。

ArrayList から項目を削除するには、Remove() メソッドを使用できます。

$days.Remove("Monday")
$days

出力:

Sunday
Tuesday
Wednesday

Remove() メソッドは、指定された項目の最初の出現を ArrayList から削除します。

インデックス番号を使用して特定のアイテムを削除することもできます。 RemoveAt() メソッドを使用すると、ArrayList から指定したインデックスのアイテムを削除できます。

次の例では、インデックス番号 2 のアイテムを ArrayList $days から削除します。

$days.RemoveAt(2)
$days

出力:

Sunday
Tuesday

1-10、5-9、12-22 など、特定の範囲から複数のアイテムを削除する場合があります。このような場合、RemoveAt() メソッドを使用して、アイテムの範囲を削除できます。 ArrayList

このコマンドは、新しい ArrayList $months を作成します。

[System.Collections.ArrayList]$months = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"

次の例では、ArrayList $months からインデックス番号範囲 6-11 のアイテムを削除します。

$months.RemoveRange(6,5)

これらの項目が ArrayList から削除されているかどうかを確認します。

$months

出力:

Jan
Feb
Mar
Apr
May
Jun
Dec

パラメータと混同している場合は、次の構文を使用します。

RemoveRange(index, count)
  1. index - 削除するアイテムの範囲の開始インデックス。
  2. count - 開始範囲から削除するアイテムの数。
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website