Pat*_*ski 9 .net c# collections big-o
有没有允许任何结构BOTH这些操作:
collection.TryGetValue(TKey, out TValue)collection.TryGetKey(TValue, out TKey)在比O(n)更好的时间?
我的问题:
我基本上需要能够非常快速地检索密钥的值或值的密钥,而不会重复内存(因此两个字典是不可能的).
非常重要的说明:所有键都是唯一的,所有值都是唯一的.有了这些信息,我觉得应该可以在比O(1)for .TryGetValue和O(n)更好的时间内完成这项任务.TryGetKey.
编辑:
就我而言,我strings和之间有一个映射ints.有大约650,000个键值对的文本及其ID.所以我基本上想要获取具有特定ID的字符串,但也要获取某个字符串的ID.
Ktt*_*Ktt -2
你可以做这样的事;
Dictionary<string, string> types = new Dictionary<string, string>()
{
{"1", "one"},
{"2", "two"},
{"3", "three"}
};
var myValue = types.FirstOrDefault(x => x.Value == "one").Key;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1784 次 |
| 最近记录: |