Я реализую ChainedHashTable.Я хочу иметь коллизии, потому что это помогло бы мне перечислить значения, связанные с этим ключом.
ChainedHashTable имеет конструктор, подобный следующему:
public ChainedHashTable( int capacity )
{
int arraySize = HashTable.nextPrime((int) (1.1 * capacity));
table= (Dictionary<K, V>[]) new Dictionary[arraySize];
for ( int i = 0; i < arraySize; i++ )
table[i] = new OrderedDoubleList<K,V>();
maxSize = capacity;
currentSize = 0;}
Так, например:
У меня есть объект Bike и объект Park.Я хочу использовать Park в качестве ключа для этой конкретной хеш-таблицы со значениями Bike.
Если я вставлю более одного Bike с одним и тем же объектом Park, он будет добавлен в OrderedDoublyLinkedList этого конкретного ключа.У меня есть метод, чтобы удалить весь ключ K. Это удалит все объекты в этом списке, это то, что я не хочу делать.Я хочу удалить определенное значение V из этого списка.
Однако, если я попытаюсь это сделать, например, таблица [i] .remove (значение), это не сработает, потому что возвращаемый тип допускает толькоV, а не Словарь / Список / и т.д.
Я немного ошеломлен и не думаю, что смогу объяснить намного лучше, чем это.Любые советы будут с благодарностью.