我的Java代码:

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

            wins.put(winner, currentCount + 1);
        } else {
            wins.put(winner, 1);
        }


这是我可以在PHP甚至C#中执行的操作的替代方法:

if(isset($something[$key])) {
    $something[$key]++;
} else {
    $something[$key] = 1;
}


这将用于for循环中的大量迭代中,因此我想考虑性能。这整个remove()然后是puts()生意会扼杀业绩吗?有什么选择?

最佳答案

您的代码可以替换为:

if(wins.containsKey(winner)) {
    wins.put(winner, wins.get(winner) + 1);
} else {
    wins.put(winner, 1);
}


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

10-06 04:44