HashSet 对列表的表现 包含包含

问题描述 投票:-3回答:1

我正在寻找整数列表与整数哈希集之间的比较/性能考虑因素。这就是What is the difference between HashSet<T> and List<T>?所讨论的T作为整数。

我将拥有多达数千个整数,并且我想找出单个整数是否包含在此集合中。

现在当然会为哈希集尖叫,但我想知道哈希在这里是否有益,因为它们只是以整数开头。首先对它们进行哈希处理不会在此处添加不必要的开销吗?

或者换句话说:即使对于整数集,使用哈希集也有好处吗?

c# performance hash hashset
1个回答
0
投票

如在Int32.GetHashCode方法的源代码中所见,散列整数非常便宜:

Int32.GetHashCode

数字的哈希是数字本身。没有比这便宜的了。因此,没有理由担心开销。将您的数字放在// The absolute value of the int contained. public override int GetHashCode() { return m_value; } 中,并喜欢以HashSet计算复杂度进行搜索。

© www.soinside.com 2019 - 2024. All rights reserved.