私の知る限り、自分自身をソートする機能を備えたList<T>
を取得する方法はありません。要素を追加する場合は、データ構造を適切な位置に挿入します(関連するIComparer<T>
に基づいて)。 SortedSet<T>
と同じロジックの何かを探しています。
私はSystem.Collections.Generic.SortedList<TKey, TValue>
を知っていますが、それはDictionary
の一種です。
私は本当に必要ありません(実装するのはそれほど難しくありません)。そのようなデータ構造が存在するかどうか疑問に思っています。存在しない場合は、なぜですか?
ソース:
IList
インターフェイスを壊します。
インデックスを使用してリストから要素を取得します。要素のインデックスが変化し続けると、これが役に立たない場合、Insertも役に立たなくなります。
Item [Int32]-指定されたインデックスにある要素を取得または設定します。
Insert(Int32、T)-IList<T>
の指定したインデックスにアイテムを挿入します。
したがって、SortedList<T>
実装がない理由は、他のADTがより合理的かつ効率的な方法で機能を処理できるためです。