【发布时间】:2018-11-26 16:15:21
【问题描述】:
我觉得我缺少一些基本的理解......希望这不会被认为过于宽泛或主观,因为我不确定要发布到哪个 Stack Exchange 网站。
VBA 的关联数组是字典。我非常粗略的理解是 Dictionary 只是一个多维数组;要在矩阵中找到一个值,您仍然需要迭代并在矩阵的第一行中找到一个匹配值,然后将其用于输出矩阵中同一列的第 n 行中的值。
如果以上内容在任何方面都是正确的,那么Dictionary 比标准的multi-dimensional array 更有效吗?
【问题讨论】:
-
在哪种意义上“更高效”?
-
@Egalth 我想这本身可能是一个完整的问题。有人告诉我,使用关联数组而不是标准数组查找数据(如姓氏的电话簿)更快地输出相关信息(人 x 的电话号码)。在效率方面,我相信我会谈论速度,而不是编写代码的难易程度。我对字典的了解还不够,无法说明 IDE 中存在的大量术语,以使其更快地编写。
-
A
Dictionary是不是多维数组 - 它散列用于查找的键。使用Dictionary的“效率”将随着元素的数量而增加。 -
@Egalth 不,它不是(必然)一个二维数组。
-
@Egalth 同样,不,不是。我建议阅读我之前链接的Wikipedia page 或下面链接的the SO answer。您将数据结构与实现混淆了。即使我们假设它是“具有某些属性的 2 元组的集合”,但这并不意味着它作为 2 元组的数组存储。跨度>