我正在尋找一個數據結構,允許我也搜索鍵和值。現在,我正在使用一個簡單的字典,但如果我在其中搜索值,我必須循環所有的鍵(如果我是正確的話,使用O(n))。但由於我的地圖很小(只有5個條目),我不確定這是否會影響。搜索鍵和值的地圖
Dictionary<string, int> myDict = new Dictionary<string, int> {
{"first", 1},
{"second", 2},
{"third", 3},
{"fourth", 4},
{"fifth", 5}
}
現在通過訪問關鍵的地圖很簡單:
var myInt = myDict["second"]; // O(1)
但是因爲我需要經常訪問該地圖(密鑰和值)我不確定是否有更好的辦法存儲值,那麼這樣的:
var myString = myDict.Single(x => x.Value == 2).Key; // O(n)
是你的獨特價值嗎? – helb 2014-12-19 10:15:45
@helb是的,他們是 – HimBromBeere 2014-12-19 10:17:11
我不確定你是否正確地使用它。你爲什麼要檢查這個值來返回一個鍵? – 2014-12-19 10:17:22