gpt4 book ai didi

c# - C# 列表的速度

转载 作者:IT王子 更新时间:2023-10-29 04:10:06 27 4
gpt4 key购买 nike

C# 列表速度快吗?使用列表处理对象的优点和缺点是什么?

大量使用列表会使软件变慢? C# 中的列表有哪些替代方案?

多少个对象对于列表来说是“太多的对象”?

最佳答案

List<T>使用支持数组来保存项目:

  • 索引器访问(即获取/更新)是 O(1)
  • 从尾部移除是 O(1)
  • 从别处移除需要将现有项目向上移动,因此 O(n) 有效
  • 添加到末尾是 O(1) 除非它需要调整大小,在这种情况下它是 O(n)。 (这使缓冲区的大小加倍,因此摊销成本为 O(1)。)
  • 添加到其他地方需要将现有项目向下移动,因此 O(n) 有效
  • 找到一个项目是 O(n),除非它是排序的,在这种情况下,二分查找给出 O(log n)

通常可以相当广泛地使用列表。如果您在开始填充列表时知道最终大小,最好使用允许您指定容量的构造函数,以避免调整大小。除此之外:如果您担心,请打开分析器...

关于c# - C# 列表的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1433307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com