哪个集合类对于插入C#是有效的
本文关键字:有效 插入 集合类 于插入 | 更新日期: 2023-09-27 18:23:52
如果我想在这些集合类"Dictionary"、"List"answers"Sorted List"中插入数据,执行插入所需的时间会更短?你能给我一个代码来解释这个过程吗?
List<T>
将具有最快的插入LinkedList<T>
将在头部具有最快的插入。
对于大多数实际应用来说,这种差异将是微小的;你应该用适合你需要的那种。
将值插入LinkedList is O(1)运算。列表(由数组实现)可能需要额外的项分配和复制。
如果您的性能要求很严格,那么在做出决定之前,您应该在您的环境和上测量您的数据。
我将提供一些猜测,在你进行自己的测量之前,你不应该认为这些猜测是理所当然的:
- 如果您事先知道元素的数量,只需使用预先分配的CCD_ 3(或阵列)
- 如果您不这样做:
- 使用块列表(即
LinkedList<List<T>>
)来避免List
的大小调整 - 或者,为了简单起见,您可以只使用
List
并产生一些调整大小以接受更多元素时的性能损失。我是不确定使用Dictionary
还是LinkedList
是否合理相反——但如果你测量一下,你就会是;)
- 使用块列表(即
所有这些都是在假设您不关心集合中的新元素插入到哪里以及以后如何检索它。。。如果您关心,那么您将根据选择数据结构,而不仅仅是插入性能。