大数跨境
0
0

Col带Key与Dic带Key是完全不同的两个技术路线

Col带Key与Dic带Key是完全不同的两个技术路线 BtOfficer
2025-11-11
4
导读:BtOfficer在探索Col实现原理和结构时也曾想,Col既然也有Key,拥有与Dic差不多的功能,难道仅仅是因为没有Exists方法,就呈现出了Dic更佳的结论了么?Dic的查询是基于Hash的,
前言
Col的Key查询是基于Hash的吗?
大家都知道Collection(以下简称Col)是既可以使用Index索引,也可以使用键名Key的,这给予了使用者极大的灵活性。Index索引,可以让其拥有数组一样的特性,同时在查删改上又弥补了数组的不足。很多人将其视为其他语言里的动态数组ArrayList来使用。
但是BtOfficer在《VB/VBA的集合对象Collection,用Index和Key,谁更占优?》中已验证Col中的Index非数组中的Index。Col是基于链表的,Index是基于遍历的,所以让Col扮演动态数组的角色,其实并不恰当,甚至会聪明反被聪明误。
或许有人会说,既然Index并不友好,那用Key得了呗,毕竟是少数几个内置的对象之一嘛。BtOfficer在探索Col实现原理和结构时也曾想,Col既然也有Key,拥有与Dic差不多的功能,难道仅仅是因为没有Exists方法,就呈现出了Dic更佳的结论了么?
Dic的原理基本都很清楚了,它的查询是基于Hash的,那Col的Key呢?BtOfficer在《uCol(Index)查询Item通过遍历Collection实现,那uCol(Key)呢?》中也一度往这个角度假设,那么本篇就接着论!
一、字符串集的存储与搜索时面临的困难

【声明】内容源于网络
0
0
BtOfficer
MyPlace安全生产框架,行业情报,办公自动化
内容 197
粉丝 0
BtOfficer MyPlace安全生产框架,行业情报,办公自动化
总阅读27
粉丝0
内容197