为什么C#列表是使用数组而不是链接列表实现的

时间:2018-07-07 08:54:13

标签: c# list collections

我查看了C#中List的代码

https://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,cf7f4095e4de7646

为什么列表被实现为数组而不是链接列表?

例如,与阵列相比,使用双向链接列表时,我知道内存是一个问题,但是当您将节点删除/添加到列表中时,对性能的影响会较小。

您能解释一下吗? 谢谢

1 个答案:

答案 0 :(得分:2)

首先,C#中有一个LinkedList

对于数组和链表之间的区别,数组提供对集合中元素的快速随机访问,而在链表中,元素不能随机访问,而只能顺序访问,并且访问元素需要0(n)时间。尽管使用LinkedList有一些优点。 This article提供了详细的比较。