仅接受 IComparable的 SortedList
我有一个实现 IComparable
的接口 IScriptItem
。 在我看来,拥有 IComparable
项似乎足以对任何内容进行排序。 但我能找到的只是字典、哈希表和排序列表,它们实际上是排序树。
我正在寻找的是一个采用 IComparables 的排序通用列表。 我是不是找错地方了?
I have an interface IScriptItem
that implements IComparable<IQueueItem>
.
In my eyes it would seem enough to have IComparable
items in order to have a sorted anything. But all I can find is Dictionaries, Hashtables and SortedLists that are actually SortedTrees.
What I'm looking for is a sorted generic list that takes IComparables.
Am I looking in the wrong places?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
没有任何内置的东西。 您有一些选择:
对于这种特殊情况,请查看 Wintellect PowerCollections OrderedBag 类,该类在内部使用红黑树。 其他好的免费数据结构库包括 NGenerics 和 C5。
There's nothing built-in. You have some options:
For this particular case check out Wintellect PowerCollections OrderedBag class, which uses a red-black tree internally. Other good free data structure libraries include NGenerics and C5.
如果我理解正确的话,你想要一个 SortedCollection< T值> 而不是各种 SortedCollection< TKey、TValue> 就在那里。
在 .NET 4 中,有一个新的
SortedSet
类,保持其项目有序,但不允许重复。 否则,您将不得不考虑第三方选项,就像马特·豪厄尔斯提到的那样。If I understand correctly, you want an SortedCollection< TValue> instead of the various SortedCollection< TKey, TValue> that are there.
In .NET 4 there is a new
SortedSet<T>
class that keeps its items in order, but doesn't allow duplicates. Otherwise you'll have to look at 3rd party options, like the one Matt Howells mentions.