Надеюсь, этот вопрос не будет считаться слишком основным для этого форума, но мы посмотрим. Мне интересно, как реорганизовать некоторый код для лучшей производительности, который запускается несколько раз.
Скажем, я создаю список частот слов, используя карту (возможно, HashMap), где каждый ключ представляет собой строку со словом, которое подсчитывается, и значение является целым числом, которое увеличивается каждый раз, когда токен слова найдено.
В Perl приращение такого значения было бы тривиально легким:
$map{$word}++;
Но на Java это намного сложнее. Вот как я это делаю сейчас:
int count = map.containsKey(word) ? map.get(word) : 0;
map.put(word, count + 1);
Что, конечно, зависит от функции автообновления в новых версиях Java. Интересно, можете ли вы предложить более эффективный способ увеличения такого значения. Есть ли даже хорошие причины производительности для отказа от структуры Collections и использования чего-то другого?
Обновление: я проверил несколько ответов. См. Ниже.