给定一个列表:
List<object> SomeList = new List<object>();
是否在做:
SomeList.Insert(i, val);
VS.
SomeList.Add(val);
有性能损失吗?如果是这样,它如何取决于:
-
i
-插入索引-
SomeList.Count
-列表的大小 最佳答案
(source)
这意味着内部数据存储为数组,因此执行insert
可能需要将所有元素移到上方以腾出空间,因此其复杂度为O(N),而add
是(摊销的)常数时间O(1)操作,因此是。
简介-是的,它几乎总是比较慢,并且列表越大,它就会变得越慢。
关于c# - List.Insert有性能损失吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18587267/