public void Add(K key, V value) { if (count >= maxItemsAtCurrentSize) { GrowArray(); } array.Add(key, value); count++; }
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; }