public HashTable(int initialCapacity) { if (initialCapacity < 1) { throw new ArgumentException("Invalid initial capacity."); } array = new HashTableArray <K, V>(initialCapacity); maxItemsAtCurrentSize = (int)(initialCapacity * fillFactor) + 1; }
private void GrowArray() { HashTableArray <K, V> largerArray = new HashTableArray <K, V>(array.Capacity * 2); foreach (var node in array.Items) { if (node != null) { largerArray.Add(node.Key, node.Value); } } array = largerArray; maxItemsAtCurrentSize = (int)(array.Capacity * fillFactor) + 1; }