Как мне кажется всё должно работать, но когда запускаю получается охинея for (int i = 0; i < list.size() - 1; i++) { //беру одно слово (первое) for (int j = 1; j < list.size(); j++) { //Беру второе слово (второе) if (list.get(i).equals(list.get(j))) { //Проверяю первое слово со вторым result.put(list.get(i), result.get(list.get(i)) + 1); //Если первое слово равно второму // по ключю (по первому слову) беру значение и увеличиваю на 1 }