Эффективность Java Hashmap get метод - PullRequest
0 голосов
/ 25 мая 2019

Так что мой вопрос, вероятно, немного простой и немного излишний. Но я хочу спросить: эффективнее ли использовать один и тот же метод get Hashmap несколько раз? Или указать объект на один из методов get, а затем работать с этим временным объектом. Я написал немного кода для его визуализации.

    HashMap<String, MyClass> stringCounter = new HashMap<>();
    stringCounter.put(..., ...); // ...

    if(stringCounter.containsKey(name)) stringCounter.get(name).remove();
    else stringCounter.get(name).add();

    MyClass myClass = stringCounter.get(name);
    if(stringCounter.get(otherName).remove) myClass.remove();
    else myClass.add();

1 Ответ

0 голосов
/ 25 мая 2019

Быстрый ответ: получите свой экземпляр один раз, затем работайте с ним, это будет быстрее и чище читать.Когда вы попадаете в hashmap, внутренне он выполняет поиск, jvm может обнаружить или не обнаружить, что он может быть оптимизирован.Но, как вы не уверены, просто

Object instance = map.get(key);
if(instance != null {
    instance.doThis();
    instance.doThat();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...