1
兩路,我很好奇這是更快:編程性能
第一種方式:
if (!map.containsKey(key)) {
map.put(key, new ArrayList<String>());
}
map.get(key).addAll(someList);
方式二:
List<String> existingList = map.get(key);
if (existingList == null){
existingList = new ArrayList<String>();
}
existingList.addAll(someList);
map.put(key, existingList);
第一種方式似乎涉及不得不更頻繁地散列密鑰,但需要比第二種方式更少的對象創建。在我看來,第二種方式可能比第一種方式更快但資源更密集。
的思考?
'Map.put'也執行查找。所以,這確保了查詢只執行一次,**當鑰匙存在時**。 –
@Martijn Courteaux - 感謝您指出,回答編輯。 –
太棒了。感謝您的迴應! – user965697