gpt4 book ai didi

c# - 帮助选择正确的数据结构

转载 作者:搜寻专家 更新时间:2023-11-01 01:30:18 27 4
gpt4 key购买 nike

我需要一个具有以下要求的数据结构:

  1. 需要能够通过索引获取元素(如列表)。
  2. 我只会在结构的末尾添加/删除元素。

我倾向于使用ArrayList。在这种情况下,读取元素(它们总是?)、删除元素(我只需要在列表末尾删除它们)和添加(我只添加到列表的末尾)。

唯一的问题是 ArrayList 有时会在完全填满时性能下降,我需要向其中添加更多元素。

还有其他更好的主意吗?我想不出有什么数据结构能胜过这里的 ArrayList

谢谢

最佳答案

听起来不错,但在 C# 中您应该使用 List<T> .它是 ArrayList<E> 的 Java 等价物. ArrayList C# 中的类不是通用的,基本上已被新的 List<T> 淘汰。类。

There is only the problem that time to time the ArrayList will have a performance penalty when it's completely full and I need to add more elements to it.

这可能不是问题,除非您对性能进行了分析,否则您可能不应该担心它。但是,如果您事先知道(或可以猜测)您的列表将包含的元素数量,您可以设置它的 Capacity 到该值(在 Java 中为 ensureCapacity )。这会导致链表提前预留需要的内存。您还可以在 both 中为列表构造函数提供容量。 languages .

关于c# - 帮助选择正确的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2944760/

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