如何更快地从地图返回键和值?

时间:2017-10-24 14:49:27

标签: java collections

我有一些代码块,可以在缓存的map中找到一些关键字。如果使用的话会返回那个  密钥和值get

private Map<String, Map<Character, Integer>> cache = new HashMap<>();
if (cache.containsKey(inputData)) {
    return cache.get(inputData);
}

所以,我使用两个发现操作。我可以用一个发现吗?或者我怎么能更快地完成它?

2 个答案:

答案 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),因此就复杂性而言,您的代码非常好。还要记住,过早优化是万恶之源。