[英]How to return key and value from map faster?
我有一段代碼可以在緩存的地圖中找到一些關鍵,如果使用返回的代碼
通過鍵和值get
。
private Map<String, Map<Character, Integer>> cache = new HashMap<>();
if (cache.containsKey(inputData)) {
return cache.get(inputData);
}
因此,我使用兩個查找操作符。我可以用一個查找嗎? 還是我可以更快地做到這一點?
您可以只調用get()
方法,然后將返回值與null
進行比較。
final Map<Character, Integer> value = cache.get(inputData);
if (value != null) {
return value;
}
嘗試getOrDefault
。
cache.getOrDefault(inputData, defaultValue);
如果有一個密鑰,它將返回對應於該密鑰的值,否則將返回默認值。
還要注意, get
的時間復雜度為O(1)
因此就復雜度而言,您的代碼還不錯。 還請記住,過早的優化是萬惡之源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.