如何更快地从映射返回键和值



我有代码块可以在缓存的地图中找到一些键。如果使用,则返回
键和值按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)所以就复杂度而言,你的代码是相当不错的。还要记住,过早优化是万恶之源。

最新更新