HashMap - contains and get methods should not be used together

8 浏览
0 Comments

HashMap - contains and get methods should not be used together

我从面试中得到了以下问题。

我被给予了一个字符数组:

char[] characters = {'u', 'a', 'u', 'i', 'o', 'f', 'u'};

我需要获取不重复字符和每个字符的计数:

u = 3
a = 1
i = 1
o = 1
f = 1

所以我用以下Java代码回答:

HashMap map = new HashMap();
int i = 1;
for (char c : characters) {             
    if (map.containsKey(c)) {
        int val = map.get(c);
        map.put(c, ++val);
    } else map.put(c, i);
}

面试官是一位解决方案架构师。他问我为什么在这里同时使用containsKey()get()方法,并指出同时使用两种方法是多余的。他的观点是什么?我在这里做错了什么?我的代码会导致性能问题等吗?

0