2012-01-20 95 views
2

我有一堆獨特的整數,我想盡快決定,如果給定的整數可以在他們之間找到或不。用O(1)查找.NET集合集合?

Dictionary(Of TKey, TValue).ContainsKey的文檔指出,檢查字典中是否存在值接近O(1)操作。所以如果我使用類似Dictionary<int, bool>的東西,並檢查給定的整數值是否存在,那麼我的問題就解決了。然而,這個解決方案不必要地爲我的密鑰存儲bool值,我懷疑必須有一個更直接的方法來做到這一點。

在.NET框架中是否存在針對此問題的內置解決方案?

回答

5

從.NET 3.5開始有HashSet<T> - 這可能是你想要的。

+0

我曾擔心HashSet ,但他們解決了這個線程:http://stackoverflow.com/questions/3562141/o1-maintained-in-hashset-lookups-when-using-alternative-comparator – kahoon