Могу ли я обновить значение ключа в хеш-таблице? - PullRequest
0 голосов
/ 05 марта 2019

Я новичок в использовании хеш-таблицы, и я хочу знать, как изменить значение определенного существующего ключа в хеш-таблице. Я пытался искать, но все, что было найдено, включало хэш-карту, с которой я не знаком, и которую я не планирую использовать.

Я не уверен, что хеш-таблицы позволяют только вставлять и удалять значения или позволяют ли они вносить изменения в существующий ключ.

Также, пожалуйста, объясните мне, как это сделать. (т.е. .put () означает вставка. что мне сделать, чтобы изменить?)

спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

Отредактировано , потому что, если подумать, формулировка вопроса казалась неоднозначной и могла изначально принять неверное значение.

Вы не можете сменить ключ, если вы это имели в виду. Ключ определяет положение записи в хэш-карте / таблице (по определению), поэтому, если вы измените ключ без изменения позиции, карта / таблица теперь повреждена.

Изменить ключ и изменить его положение просто: удалите запись под старым ключом и добавьте ту же запись под новым ключом.

Вы можете изменить значение, связанное с ключом. Есть несколько возможных подходов. Один из них - просто использовать put () с тем же ключом для обновления значения; см. документацию для этого. Другой способ - использовать entrySet (), чтобы получить набор ключей, сопоставления значений, найти запись для вашего ключа и использовать setValue () для этой записи.

Конечно, удаление и повторное добавление также позволит вам изменить значение.

...