4

我想知道是否有很多小字典会因为涉及的开销而浪费内存。字典被实现为一个哈希表,所以如果我有数千个对象,每个对象都包含这些小字典,我最终不会浪费很多空间,而不是仅仅拥有一个我搜索的列表/二进制搜索树,特别是如果每个小字典只包含 4-5 个键值对?

我现在正在查看的代码是这样实现的,并且由于存在内存问题,我想知道将哈希表用于少量项目是多么浪费。除了列表/二叉搜索树之外,我还有哪些其他选择?

4

2 回答 2

1

当然,基准测试是查看性能与内存问题的最佳方法,但如果每个字典都那么小,请考虑ListDictionaryHybridDictionary类。对于小型词典,您肯定会看到性能优势,我怀疑您也会看到大小优势。

于 2013-03-29T00:52:22.490 回答
1

如果您需要散列功能,您可以使用 hastable 而不是字典,如果不是,一些轻量级集合就可以了。您可以查看此链接Dictionary vs Hashtable memory usage

于 2013-03-29T00:54:33.760 回答