Rob*_*ers 5 lookup dictionary data-structures
我需要将查找表存储为我的一个类中的实例成员.构造对象时将初始化该表.每个"行"将有3个"列":
StringKey (e.g., "car")
EnumKey (e.g., LookupKeys.Car)
Value (e.g, "Ths is a car.")
Run Code Online (Sandbox Code Playgroud)
我想选择能够通过StringKey 或 EnumKey 进行查找的最佳性能的数据结构.
对于相同的字典值,有两个键很尴尬.我以前从未遇到过这种情况,所以我想知道这类事情的标准是什么.
我可以创建一个键/值/值结构而不是键/键/值,但我想知道会产生什么类型的性能影响.
我觉得这一切都错了吗?
嗯......"错误"是一种苛刻的方式.我认为,因为最常见的字典是"单值键值",并且为此提供了有效的数据结构(映射),所以通常最好只使用其中的两个,共享内存以获取值.在所有可能的.
你有两个哈希图。
一是从 StringKey 到 value。
一是从 EnumKey 到 value。
您不必复制所有 Value 实例,这些对象可以在两个哈希图之间共享。
如果有很多项目,您可能需要使用两个树形图而不是两个哈希图。但基本原则(“分享价值观”)适用于这两种结构。一组带有两个映射的值。
| 归档时间: |
|
| 查看次数: |
2997 次 |
| 最近记录: |