gpt4 book ai didi

c#-3.0 - C# 中的 ArrayList 和 Hashtable 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 07:10:19 25 4
gpt4 key购买 nike

我想在 ArrayList 或 Hastable 中存储数据集合,但数据检索应该高效且快速。我想知道ArrayList和Hastable之间隐藏的数据结构(即链表、双链表)

最佳答案

ArrayList是一个动态数组,随着超出列表当前容量的新项目的添加而增长。 ArrayList 中的项目通过索引访问,很像数组。

Hashtable是幕后的哈希表。底层数据结构通常是一个数组,但不是通过索引访问,而是通过一个键字段访问,该字段通过调用键对象的 GetHashCode() 映射到哈希表中的某个位置。方法。

一般来说,ArrayListHashtable在 .NET 2.0 及更高版本中不鼓励使用 List<T>Dictionary<TKey, TValue>这是更好的通用版本,性能更好,并且没有值类型的装箱成本。

我有一篇博文比较了这里可能有用的每个通用容器的各种优点:

http://geekswithblogs.net/BlackRabbitCoder/archive/2011/06/16/c.net-fundamentals-choosing-the-right-collection-class.aspx

虽然它特别谈到了通用集合,ArrayList将具有与 List<T> 相似的复杂性成本和 HashtableDictionary<TKey, TValue>

关于c#-3.0 - C# 中的 ArrayList 和 Hashtable 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6777748/

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