我想知道...
List有多高效? 每个List的内存开销是多少?(即除了它们所包含的对象所需的内存空间之外) 每次实例化一个新的List时,我需要付出多少代价?
有更有效的方法吗?
字典只是哈希表,对吧?或者它们是一种不那么高效的数据结构吗?
我想使用数组,但我遇到了从中添加和删除元素的典型问题,因此必须扩展/缩小它们会很痛苦。
有什么想法/建议吗?
编辑:我知道基本的数据结构101,以及为什么链表更适合添加/删除,哈希表更适合随机访问。
我最关心的是.Net的特点。例如,每种结构浪费了多少内存。以及在初始化/终止它们时浪费的时间。
例如,如果实例化/GC一个List需要很长时间,但清除它不需要花费太多时间,也许我应该保留一些等待我的List池,在完成后将它们清除并发送回池中,而不是简单地取消引用它们。
或者,如果哈希表对于访问更快但浪费了很多内存,我可能更喜欢使用列表并遍历它们,以处理小的项计数。
另外,我真的很想专注于内存使用,因为我的应用程序非常耗费内存(类似于memcached)... 有人知道在哪里可以找到这样的信息吗?