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