什么是在VB6中实现的集合?

时间:2010-03-30 20:36:31

标签: collections vb6

因此VB6中的集合会跟踪每个对象的键,您可以通过其键来查找对象。

这是否意味着集合被实现为某种哈希表?我意识到你可以在一个集合中拥有多个具有相同键的项目,因此可以使用SOME SORT。

有人知道VB6集合应该代表什么类型的数据结构吗?

1 个答案:

答案 0 :(得分:8)

据我所知,VBA Collection实现为链表(由Integer索引和For Each ... Next使用)和哈希表(由键使用)。正如Raven所说,你不能拥有同一把钥匙的多件物品。

<强>编辑:

@MarkJ:我应该为此付出代价: Hardcore Visual Basic第二版。由Bruce McKinney撰写,由Microsoft Press 1997 ISBN 1-57231-422-2发表

行情:

第191页 - 收集班

“简而言之,Collection类是CList类的加强版C ++版本。实际上,如果你将CList增强为双向链表并给它一些更多功能(并且可能使用哈希表来查找字符串键),你将拥有一个与Visual Basic提供的集合类很相似的集合类。“

第197页 - 表现

“事实上,Visual Basic开发人员告诉我,集合是双重链接列表(具有支持索引的附加功能)。”

现在,麦金尼更像是一名记者,而不是程序员,而不是开发人员。但是,他确实为微软工作,并在VB和VBA团队中建立了联系。他的解释对我有用。

顺便提一下,双向链表的原因是为了有效地在集合的开头和结尾插入项目。