Можно ли удалить определенное значение V, которое находится в списке, связанном с ключом K, из таблицы ChainedHashTable? - PullRequest
0 голосов
/ 27 ноября 2018

Я реализую 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, а не Словарь / Список / и т.д.

Я немного ошеломлен и не думаю, что смогу объяснить намного лучше, чем это.Любые советы будут с благодарностью.

...