Java中Map.getOrDefault()方法的见解[森林中的兔子](14/100000)
以下为我提交的解答
class Solution {
public int numRabbits(int[] answers) {
Map<Integer, Integer> count = new HashMap<Integer, Integer>();
for (int y : answers) {
count.put(y, count.getOrDefault(y, 0) + 1);
}
int ans = 0;
for (Map.Entry<Integer, Integer> entry : count.entrySet()) {
int y = entry.getKey(), x = entry.getValue();
ans += (x + y) / (y + 1) * (y + 1);
}
return ans;
}
}
在今天的每日一题中,用到了
Map.getOrDefault(Object key, V defaultValue);
如果在Map中存在key,则返回key所对应的的value。
如果在Map中不存在key,则返回默认值。
例如:
在该解答中 count.getOrDefault(y, 0) + 1
表示:
value默认从1开始,每次操作后对应的value值加1
本例中用来统计某种颜色的兔子出现的次数
总结
忘记返回值
如果一个方法,只需要处理问题,而不需要返回处理结果,就不用返回,也就是void;具体是否返回要根据具体要求而定。