Огромное спасибо) Нужно было только обнуление count вынести и всё сразу заработало) Насчёт приведения строки к строке, согласен, глупо выглядит, но у меня IDE ругался, что при вызове removeItemFromMapByValue(map, pair.getValue()); находит объект и не находит строку, хотя я не понимаю немного, почему, ведь в мапе значение и есть строка, так как мы ею String сделали. В общем, я так написал, чтобы IDE от меня отстал) А за помощь ещё раз спасибо)
P.S. не дало написать в сообщениях.