private void SetValue(TKey key, TValue value) { var hashKey = GetHashKey(key); var items = _table[hashKey]; if (items == null) { items = new MyOneWayLinkedList <MyKeyValuePair <TKey, TValue> >(); _table[hashKey] = items; } else { var node = items.First; while (node != null) { if (node.Value.Key.Equals(key)) { items.Remove(node); break; } node = node.Next; } } items.AddLast(new MyKeyValuePair <TKey, TValue> { Key = key, Value = value }); }
public MyHashtable() { _capacity = 1000; _table = new MyOneWayLinkedList <MyKeyValuePair <TKey, TValue> > [_capacity]; }