Я хотел бы сделать что-то, используя значение карты для заданного ключа, только если карта содержит данный ключ. Наивно я хотел бы написать:Результат поиска карты
Map<String, String> myMap = ...;
if(myMap.containsKey(key)) {
String value = myMap.get(key);
// Do things with value
}
код выше выглядит легко понять, но с точки зрения производительности, не было бы лучше, следующий код?
Map<String, String> myMap = ...;
String value = myMap.get(key);
if(value != null) {
// Do things with value
}
Во втором фрагменте мне не нравится тот факт, что value
объявлен с более широкой областью.
Каким образом эффективность данных случаев изменяется в отношении реализации Карты?
Примечание. Предположим, что нулевые значения не допускаются на карту.
Почему вы беспокоитесь об исполнении здесь? –
@SotiriosDelimanolis Я думаю, что он просто представил простой сценарий. Представьте, что следующий код будет выполнен в цикле с миллионом итераций. –
Если вы не делаете это миллионы раз, или это какая-то горячая точка, я бы не стал беспокоиться о хите производительности. – Yuushi