【发布时间】:2012-02-07 16:34:45
【问题描述】:
我有一个只使用 Dictionary<long, object> 的 keyCollection 的类,我想只将键传递给其他类。
我知道字典有一个理论上的O(1) access-by-index(作为HashTable),但如果我将keyCollection 转换为List,则访问权限将更改为O(n)。
如何将 keyCollection 传递给维护O(1) 访问权限的班级?
编辑:我使用的是 .NET 2.0。
提前致谢。
【问题讨论】:
-
定义“访问”...如果您的意思是“按索引读取”,访问仍然是 O(1),而且确实比 O(1)快一个哈希表。实际上,O(1) 仅适用于按键访问值,这在 键列表 中毫无意义 - 你想对列表做什么?
-
@MarcGravell:是的,我的意思是按索引访问 (.Contains())
-
@MarcGravell:我只需要密钥集合来知道字典是否包含某些键值,所以我只需要键。
标签: c# .net list dictionary .net-2.0