我有一些代码块,可以在缓存的map中找到一些关键字。如果使用的话会返回那个
密钥和值get
。
private Map<String, Map<Character, Integer>> cache = new HashMap<>();
if (cache.containsKey(inputData)) {
return cache.get(inputData);
}
所以,我使用两个发现操作。我可以用一个发现吗?或者我怎么能更快地完成它?
答案 0 :(得分:1)
您只需调用function(){
var e = this,
t = e.$createElement,
n = e._self._c || t,
result;
if(e.message.text && "human" === e.message.type){
result = n("div", {staticClass: "message-text"}, [e._v("\n " + e._s(e.message.text) + "\n")])
}else{
if(e.message.text && e.shouldRenderAsHtml){
result = n("div", {staticClass: "message-text",domProps: {innerHTML: e._s(e.botMessageAsHtml)}})
}else{
if(e.message.text && "bot" === e.message.type){
if(e.shouldStripTags){
result = n("div", {staticClass: "message-text"}, [e._v("\n " + e._s(e.stripTagsFromMessage(e.message.text)) + "\n")])
}else{
result = n("div", {staticClass: "message-text"}, [e._v("\n " + e._s(e.message.text) + "\n")])
}
} else {
result = e._e();
}
}
}
return result;
}
方法,然后将返回值与get()
进行比较。
null
答案 1 :(得分:1)
尝试getOrDefault
。
cache.getOrDefault(inputData, defaultValue);
如果有,则返回与该键对应的值,否则返回默认值。
另请注意,get
的时间复杂度为O(1)
,因此就复杂性而言,您的代码非常好。还要记住,过早优化是万恶之源。