Не "положить" перезаписать существующие значения?
новый для хэш-таблиц с простым вопросом. По какой-то причине гуглинг не дал мне прямого ответа. Скажи, что у меня есть <int,String> настройка хэш-таблицы:
myHashtable.put(1,"bird");
myHashtable.put(2,"iguana");
и я хочу изменить "птица" и "рыба" (и оставить в индексе). Могу ли я просто сделать простой put, или мне нужно удалить запись, или что?
2 ответа:
да.
если сопоставление с указанным ключом уже существует, старое значение будет заменено (и возвращено). Смотрите
Hashtable.put().для многопоточной среды я бы рекомендовал
ConcurrentHashMapили ещеConcurrentMapреализация. ХотяHashtableсинхронизируется, теперь доступны более сложные реализации для параллельного отображения, такие как GuavaMapMakerиCacheBuilder.также имейте в виду
Mapбудет иметь параметры типа<Integer, String>так как параметры примитивного типа не поддерживаются.
хммм ,просто нужно добавить строку
myHashtable.put(1,"fish");
чтобы увидеть, что удивительно происходитсмотрите эту ссылку:http://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html#put (K, V)
Returns: the previous value of the specified key in this hashtable, or null if it did not have one