所以我的问题可能有点基本,有些过头了。但是我想问的是,多次使用同一Hashmap get方法是否更有效。或者将对象指向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();
答案 0 :(得分:0)
快速解答:一次获取您的实例,然后使用它,这样阅读起来也会更快,更干净。 当您获取哈希表时,在内部进行查找,jvm可能会或可能不会检测到它可以进行优化。但是您不确定
Object instance = map.get(key);
if(instance != null {
instance.doThis();
instance.doThat();
}