使用array [key] ++增加数组值

sk0*_*099 0 java arrays for-loop increment

我的Java代码:

        if(wins.containsKey(winner)) {
            int currentCount = wins.get(winner);
            wins.remove(winner);

            wins.put(winner, currentCount + 1);
        } else {
            wins.put(winner, 1);
        }
Run Code Online (Sandbox Code Playgroud)

这是我在PHP甚至C#中可以做的事情的替代方法:

if(isset($something[$key])) {
    $something[$key]++;
} else {
    $something[$key] = 1;
}
Run Code Online (Sandbox Code Playgroud)

这将在for循环中的大量迭代中使用,因此我想考虑性能.难道这全remove()然后puts()业务查杀性能?有什么选择?

Roh*_*ain 5

您的代码可以替换为:

if(wins.containsKey(winner)) {
    wins.put(winner, wins.get(winner) + 1);
} else {
    wins.put(winner, 1);
}
Run Code Online (Sandbox Code Playgroud)

无需删除条目.当您使用相同的键在地图中添加另一个条目时,它将覆盖现有的条目.