gpt4 book ai didi

collections - 在VB6中实现了什么集合?

转载 作者:行者123 更新时间:2023-12-04 02:03:32 25 4
gpt4 key购买 nike

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

这是否意味着集合在幕后被实现为某种哈希表?我知道您可以在一个集合中包含多个具有相同键的项,因此有些排序。

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

最佳答案

据我所知,VBA集合是作为链接列表(由Integer索引和For Each ... Next使用)和哈希表(由键使用)实现的。正如Raven所说,您不能有多个具有相同键的项。

编辑:

@MarkJ:我应该为此举个例子:
Hardcore Visual Basic 2nd Ed。由布鲁斯·麦金尼(Bruce McKinney)发布,由Microsoft Press 1997年出版ISBN 1-57231-422-2

引号:

第191页

“简单地说,Collection类是CList类的增强的C++版本[...]。实际上,如果将CList增强为一个双向链接列表,并为其提供更多功能(也许使用一个用于查找字符串键的哈希表),您将拥有一个类似于Visual Basic所提供的集合类。”

第197页

“而且,事实上,Visual Basic开发人员告诉我,集合是双链表(具有支持索引的其他功能)。”

现在,麦金尼更多的是新闻记者,而不是程序员,而不是开发人员。但是,他确实为Microsoft工作,并且在VB和VBA团队中有联系。他的解释对我有用。

顺便说一句,使用双向链表的原因是为了使其能够高效地在集合的开头和结尾处插入项目。

关于collections - 在VB6中实现了什么集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2548526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com