LinkedList vs List<T>

本文关键字:gt vs lt LinkedList List | 更新日期: 2023-09-27 17:54:41

可能重复:
我什么时候应该使用List与LinkedList

如果我希望不对我的数据结构使用按索引访问,那么使用列表之上的LinkedList?如果我不能100%确定我永远不会使用按索引访问,我想知道其中的区别。

假设我有N个实例。在LinkedList中插入和删除只会是一个o(1(op,其中与List中一样,它可能是o(n(,但由于它是优化的,所以最好知道n的某些值有什么不同。例如N=1000000和N=1000000000

LinkedList vs List<T>

List<T>只是一个数组的包装器。LinkedList<T>只有在访问顺序数据(向前或向后(时才是最有效的。

链接列表提供了对列表成员的快速插入或删除。链接列表中的每个成员都包含一个指向列表中下一个成员的指针,以便在i:位置插入一个成员

update the pointer in member i-1 to point to the new member
set the pointer in the new member to point to member i

检查一下:我什么时候应该使用List与LinkedList

LinkedList<T>在对列表中的项目执行多次随机插入和删除时非常有用。否则,List<T>可能是最好的选择,因为它不携带链接列表中元素的开销(也可以进行索引(。

但是,如果您关心性能,那么您确实需要测试实际的代码。