C#中SortedList和SortedDictionary的区别
在 C# 中, SortedList
是根据键排序的键/值对的集合。 默认情况下,此集合按升序对键/值对进行排序。 它是通用和非通用类型的集合。 通用 SortedList
在 System.Collections.Generic
命名空间中定义,而非通用 SortedList 在 System.Collections
命名空间下定义。
例子:
运行输出结果如下:
在 C# 中, SortedDictionary
是一个通用集合,用于以排序形式存储键/值对,并且对键进行排序。 SortedDictionary
在 System.Collection.Generic
命名空间下定义。 它本质上是动态的,排序字典的大小根据需要而增长。
例子:
运行结果如下:
以下是 SortedList
和 SortedDictionary
之间的一些区别:
SortedList | SortedDictionary |
---|---|
SortedList 的内存是开销。 | SortedDictionary 的内存没有瓶颈。 |
在 SortedList 中,元素存储在内存中的连续块中。 | 在 SortedDictionary 中,元素存储在可以分布在整个堆中的单独对象中。 |
在 SoterdList 中,内存碎片很高。 | 在 SoterdDictionary 中,内存碎片很少。 |
它需要更少的内存来存储。 | 它需要更多的内存来存储。 |
在 SortedList 中,需要较少的插入和删除操作。 | 在 SortedDictionary 中,需要更多的插入和删除操作。 |
在 SortedList 中,可以使用索引访问元素。 | 在 SortedDictionary 中,可以使用索引或键访问元素。 这里键访问就足够了,不需要使用索引访问元素。 |
在 SortedList 中,数据已经排好序了。 | 在 SortedDictionary 中,数据是未排序的形式。 |