SortedList和SortedDictionary有什么区别?
a SortedList<TKey,TValue>
和a
之间有什么实际的实际区别SortedDictionary<TKey,TValue>
吗?在任何情况下,您会专门使用一种而不是另一种吗?
回答:
是的-它们的性能特征差异很大。最好叫它们SortedList
,SortedTree
因为这更紧密地反映了实现。
看看MSDN文档为他们每个人(的SortedList
,SortedDictionary
),用于在不同的situtations不同的操作细节表现。这是一个不错的摘要(来自SortedDictionary
文档):
的
SortedDictionary<TKey, TValue>
通用类是O(logn)的检索,其中n是字典中的元件的数目的二进制搜索树。在这方面,它类似于
SortedList<TKey,
TValue>泛型类。这两个类具有相似的对象模型,并且都具有O(log n)检索。这两类的区别在于内存使用以及插入和移除的速度:
SortedList<TKey, TValue>
使用的内存少于SortedDictionary<TKey, TValue>
。
SortedDictionary<TKey, TValue>
对未排序的数据O(logn)具有更快的插入和删除操作,而对O的O(n)具有更快的插入和删除操作
SortedList<TKey, TValue>
。如果从排序数据中一次填充列表,
SortedList<TKey, TValue>
则速度比快SortedDictionary<TKey,
TValue>。
(SortedList
实际上是维护排序后的数组,而不是使用树。它仍然使用二进制搜索来查找元素。)
以上是 SortedList和SortedDictionary有什么区别? 的全部内容, 来源链接: utcz.com/qa/400718.html