对于密钥存在,是否存在比字典更好的数据结构

时间:2014-03-18 00:56:25

标签: c#

我经常想要优化集合.Contains的性能。

我一直这样做是通过创建Dictionary<TKey,bool>然后在字典上使用.ContainsKey来提供O(1).Contains性能。

然而,总是让我感到烦恼的是我实际上并不关心字典中的价值。

是否有比字典更好的数据结构来支持这种情况,我不关心实际值,只关键是否存在?

1 个答案:

答案 0 :(得分:11)

HashSet有一个方法Contains,它是值的O(1)搜索。这应该足够了(假设你的TKey正确实现GetHashCode):)