Java中Map的getOrDefault方法
Map.getOrDefault(Object key, V defaultValue)方法的作用是:
当Map集合中有这个key时,就使用这个key值;
如果没有就使用默认值defaultValue。
接下来使用Leecode上的一道题的解答做例子,该题是判断字符串t是否为s的异位词,代码如下:
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {//如果长度不等肯定返回false
return false;
}
Map<Character, Integer> table = new HashMap<Character, Integer>();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
table.put(ch, table.getOrDefault(ch, 0) + 1); //这里就是若table中的key含有ch则将ch对应的value加一,若不含ch则给键值ch对应的value赋默认值然后再 + 1.
}
for (int i = 0; i < t.length(); i++) {
char ch = t.charAt(i);
table.put(ch, table.getOrDefault(ch, 0) - 1);
if (table.get(ch) < 0) {
return false;
}
}
return true;
}
若对您有帮助的话希望一键三连,蟹蟹!