VB.NET Dictionary データの追加と削除 Add Remove

Dictionaryにデータを追加する方法と、データの削除方法をご紹介します。

データの追加方法

Dim dic As New Dictionary(Of Integer, String)
dic.Add(30, "りんご")
dic.Add(50, "バナナ")
dic.Add(10, "オレンジ")

For Each k In dic
    Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:30の値はりんごです
キー:50の値はバナナです
キー:10の値はオレンジです

Dictionaryにデータを追加するには、Addメソッドを使います。
第1引数にキー、第2引数に値を指定します。

新しく追加するデータは、既存データの末尾に追加されていきます。

(キーの値によって自動整列してくれる機能を持つ
SortedDictionaryと言う型もあります。)

追加したいデータのキーが既にあった場合は?

Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")

Try
    dic.Add(2, "レモン")
Catch ex As ArgumentException
    Console.WriteLine("キー:2は既に存在しています")
End Try

For Each k In dic
    Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:2は既に存在しています
キー:1の値はりんごです
キー:2の値はバナナです
キー:3の値はオレンジです

Dictionaryに存在しているキーをAddメソッドで追加しようとした場合は、
例外が発生し、追加されません。

スポンサーリンク

データの削除方法

Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")

dic.Remove(2)

For Each k In dic
    Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:1の値はりんごです
キー:3の値はオレンジです

Dictionary内のデータを削除したい場合は、Removeメソッドを使います。
引数で指定されたキーがあるか調べ、あった場合は、削除します。

削除したいキーが存在しなかった場合は?

Dim dic As New Dictionary(Of Integer, String)
dic.Add(1, "りんご")
dic.Add(2, "バナナ")
dic.Add(3, "オレンジ")

Dim b As Boolean

b = dic.Remove(5)

If b = False Then
    Console.WriteLine("キー:5は見つかりませんでした")
End If

For Each k In dic
    Console.WriteLine("キー:{0}の値は{1}です", k.Key, k.Value)
Next
キー:5は見つかりませんでした
キー:1の値はりんごです
キー:2の値はバナナです
キー:3の値はオレンジです

削除したいキーに5を指定してみました。

キー5はDictionary内のデータに存在しないため、削除されず、
Removeメソッドの戻り値として、Falseが返ります。


これでDictionaryのデータ追加、削除ができるようになりました。