Вообщем я создал 2 новые мапы, занес значения из переданной в них. Затем я сравнивал значения в этих 2-х созданных через 2 цикла.

Насколько я понимаю, сначало сравнивается первое значение из перой мапы со всеми значениями второй. Счетки сбрасывается после совпадения и удаления. Но по факту этого сброса не достаточно и надо еще один вставить после  первого цикла, не могу понять почему. Подскажите пжл.

 for (Map.Entry<String, String> angel : good.entrySet()) {
            for (Map.Entry<String, String> evil : bad.entrySet()) {

                if (angel.getValue().equals(evil.getValue())) {
                    count++;
                }
                if (count > 1) {
                    removeItemFromMapByValue(map, evil.getValue());
                    count = 0;
                }
            }
          count = 0;
        }
    }