}
}
- void Resize ()
+ void Resize (int size)
{
- int newSize = HashPrimeNumbers.ToPrime ((table.Length << 1) | 1);
+ int newSize = HashPrimeNumbers.ToPrime (size);
// allocate new hash table and link slots array
var newTable = new int [newSize];
return false;
if (++count > threshold) {
- Resize ();
+ Resize ((table.Length << 1) | 1);
index = (hashCode & int.MaxValue) % table.Length;
}
public void TrimExcess ()
{
- Resize ();
+ Resize (count);
}
// set operations