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