コレクション関連

[VB.NET] SortedListを使う

2015年10月28日

SortedListはコレクションのひとつで、
要素をキーと値で保持するオブジェクトです。

それだけだと、Dictionaryと変わりありませんが、
Dictionaryとの違いは、自動的にキー順にソートされているということです。

【名前空間】System.Collections.Generic.SortedList
【対応バージョン】VB 2005以降

サンプル

例)SortedListを生成して値を取得する


'①SortedListを生成
Dim sList As New SortedList(Of Integer, String)

'②要素をセット
sList.Add(3, "AAA")
sList.Add(1, "BBB")
sList.Add(4, "CCC")
sList.Add(2, "DDD")

'③キー2の要素を取得する
Dim a As String = dic(2)

'④全要素を順番に取得する
For Each s In sList
    Console.Write(s.Key)
    Console.Write(s.Value)
Next

②ではキーは順番どおりに追加していませんが、
④で取得する時は、1,2,3,4の順番で取得されます。

SortedListのメソッド

SortedListの操作メソッドには以下のものがあります。

【Dictionaryのメソッド】
メソッド 意味
.Add(key,val) 要素(キー、値)を追加する
※既に同じキーが存在すると例外が発生します。
.Count 要素数を取得する
.Remove(key) キーkeyの要素を削除する
.ContainsKey(key) キーkeyが存在するか判断する
.ContainsValue(val) 値valが存在するか判断する
.Clear() 全ての要素を削除する

キーの値を更新したい場合は、以下のようにします。

例)キー'2'の要素を'hoge'に更新する。


sList(2) = "hoge"

-コレクション関連