字典、列表还是数组?

13 浏览
0 Comments

字典、列表还是数组?

已关闭。这个问题需要更加专注。它目前不接受回答。


想改善这个问题吗?通过编辑这篇文章,将问题聚焦于一个问题。

改善这个问题

我正在编写一个性能至关重要的服务,我不确定什么是最快的。我有一些对象(50-200),每个对象在其中都有一个ID(整数,例如84397或23845)。将它们置于具有null值的ID的其余部分的列表、键值对的列表、字典或类似的想法的数组中,哪个更快?

admin 更改状态以发布 2023年5月20日
0
0 Comments

Dictionary 内部使用哈希表,因此我认为它是最快的。

0
0 Comments

这取决于你想执行什么操作。我们假设你想查找一个给定 ID 的对象

  • 巨大数组的方法最快:访问 myArray[84397] 是一个常量时间的操作O(1)。当然,这种方法需要最多的内存。
  • 字典的方法几乎一样快,但需要较少的内存,因为它在内部使用哈希表。
  • 成对列表的方法最慢,因为你可能需要遍历整个列表才能找到你的条目,这将导致O(n) 的复杂度。

因此,在你的情况下,我会选择字典,除非巨大数组的稍微更好的性能在你的情况下真的很重要。

0