关联数组与多维数组,VBA

时间:2018-11-26 16:15:22

标签: arrays vba

我觉得我缺少一些基本的了解...希望这不会太宽泛或主观,因为我不太肯定要发布到哪个Stack Exchange网站。

VBA的关联数组是Dictionary。我极其粗略的理解是,字典只是多维数组;要在矩阵中查找值,您仍然需要迭代并在矩阵的第一行中找到匹配的值,然后将其用于输出矩阵中同一列的第n行中的值。

如果上述内容在任何方面都是正确的,那么Dictionary比标准multi-dimensional array的效率如何?

2 个答案:

答案 0 :(得分:2)

  

要在矩阵中找到一个值,您仍然必须迭代并在矩阵的第一行中找到一个匹配值,然后将其用于输出矩阵中同一列的第n行中的值

那不是字典的工作方式。

字典查找是哈希查找(键必须是唯一的),使其大致为 O(1),而如您所述迭代矩阵的第一行 O(n) ......这意味着您正在查看的项目越多,字典与数组相比就越有优势...假设您不迭代键(即,假设您迭代'通过密钥检索项目。

答案 1 :(得分:0)

Lbound(array) to Ubound (array)那样使用边界,它将逐行通过每个单元格