簡體   English   中英

如何更快地從地圖返回鍵和值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM