Наиболее эффективный способ увеличить значение карты в Java



Я надеюсь, что этот вопрос не считается слишком основным для этого форума, но посмотрим. Мне интересно, как рефакторинг кода для улучшения производительности, что становится запустить кучу раз.



скажем, я создаю список частот слов, используя карту (возможно, хэш-карту), где каждый ключ представляет собой строку со словом, которое подсчитывается, а значение-целое число, которое увеличивается каждый раз, когда токен слова найден.



в Perl приращение такого значения будет тривиально просто:



$map{$word}++;


но в Java, это гораздо сложнее. Вот как я сейчас это делаю:



int count = map.containsKey(word) ? map.get(word) : 0;
map.put(word, count + 1);


который, конечно, опирается на функцию автобоксинга в новых версиях Java. Интересно, можете ли вы предложить более эффективный способ увеличения такого значения. Есть ли даже хорошие причины производительности для избегания структуры коллекций и использования чего-то другого вместо этого?



обновление: я сделал тест нескольких ответов. Видеть под.

517   0  

Comments

    Ничего не найдено.