Не "положить" перезаписать существующие значения?
новый для хэш-таблиц с простым вопросом. По какой-то причине гуглинг не дал мне прямого ответа. Скажи, что у меня есть <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