- ContainsKey
Map<String, Integer> mp = new HashMap<String, Integer>();
int count = mp.containsKey(word) ? mp.get(word) : 0;
mp.put(word, count + 1); // 自增
mp.put(word, count - 1); // 自减
- Java8中的Map.merge()
Map<String, Integer> mp = new HashMap<String, Integer>();
mp.merge(word, 1, Integer::sum); // 若key不存在,则put(key, 1), 否则调用sum的方法引用,在原来Key对应的值的基础上+1
mp.merge(word, -1, Integer::sum); // 若key不存在,则put(key, -1), 否则调用sum的方法引用,在原来Key对应的值的基础上-1
- getOrDefault
// getOrDefault(key, default)获取指定key对应对value,如果找不到key,则返回设置的默认值default
Map<String, Integer> mp = new HashMap<String, Integer>();
mp.put(word, mp.getOrDefault(word, 0) + 1); // 自增
mp.put(word, mp.getOrDefault(word, 0) - 1); // 自减