.NET API对构造函数给出了以下注释HashSet<T>(Int32)
:
capacity
由于调整大小相对昂贵(需要重新散列),因此这会尝试通过根据[参数]的值设置初始容量来最大限度地减少调整大小的需要。
基于值的短语让我相信构造函数会做一些比简单地将底层数组容量设置为更聪明的事情capacity
。但我能保证能够capacity
在不调整大小的情况下将项目添加到集合中吗?
底层负载因子当然是一个实现细节。我检查了它是否由任何 API 方法公开,显然没有。所以希望 .NET 能够按照我希望的方式在此构造函数中使用它对负载因子的了解。