ハッシュテーブル(連想配列)とは、キーと値をセットに持ったデータ構造で、キーを与えると、対応する値が得られます。
例えば、適用されている KB 番号から、いつの Windows Update が適用されているか調べるといった使い方ができます。
ハッシュテーブルに初期値をセットする場合は、@{} 内に キー = 値 形式で記述します(改行 または ; で複数記述)
こんな感じですね(KB番号と Windows Update 日付のハッシュテーブルの例)
|
キーから値を取得するには、以下のようキーを渡します。
$HashTable[キー] |
例えばこんな感じ
$Value = $HashTable["KB3205400"] |
キーがヒットしなかった場合は $null が帰ってきます。
キーがハッシュテーブルに含まれているかを確認するには、ContainsKey() メソッドにキーを渡します。
(
ContainsKey() メソッドと Contains() メソッドは同じなので、Contains() としても良いです )
キーが含まれていれば $true、含まれていなければ $false が帰ってきます。
$HashTable.ContainsKey(キー) |
例えばこんな感じ
|
同様に、値が含まれているかの確認は、ContainsValue() メソッドを使います
$HashTable.ContainsValue(値) |
キーを全て取得する場合は、Keys メソッドを使います
$HashTable.Keys |
Keys で取得した値は foreach で回す事は出来るのですが、配列ではなく KeyCollection なので $Keys[インデックス] の様に配列として扱う事が出来ません。
# ダメな例 $Keys = $HashTable.Keys echo $Keys[1] # ← この方法ではキーを取り出す事が出来ない |
配列としてキーを扱いたい場合は、foreach を使って明示的に配列に格納する必要があります。
こんな感じですね
|
キーの全取得と同様に、値を全て取得する場合は Values メソッドを使います。
$HashTable.Values |
ハッシュテーブルに要素を追加する場合は、add(キー, 値) メソッドを使います。
こんな感じ
$HashTable.add("KB4019218", [datetime]"2017/5/17") |
ハッシュテーブルにある要素を削除する場合は Remove(キー) メソッドを使います。
$HashTable.Remove("KB4019218") |
要素の値を変更する場合は、値を代入することができます。
$HashTable[キー] = 値 |
Copyright © MURA All rights reserved.