Если вы хотите отсортировать карту по слову, то TreeMap - это встроенный ответ Java. Вы можете убедиться, что ваши объекты Word сопоставимы, или предоставить собственный компаратор.
SortedMap<Word,Integer> map = new TreeMap<Word,Integer>();
...
for all words {
Integer count = map.get(word);
if (count == null ) count = 0;
map.put(word, count+1);
}
Если вы хотите отсортировать по частоте, вам будет лучше сделать это после того, как все слова будут подсчитаны. Сортированные коллекции не любят, когда их порядок портится из-за внешних изменений. Сортировка по частоте требует составного слова + счетного объекта, как и другие.