Кто то может дать нормалтный список действий,что тут вообще нужно делать,а что нет ? Нужен тут арай лист,или лучше создать еще один мап , перенести туда совпадающие значения , и потом сравнивать оба мапа , и если совпадает-удалять из каждого ? И метод который в самом низу
public static void removeItemFromMapByValue(Map<String, String> map, String value) {
        Map<String, String> copy = new HashMap<>(map);
        for (Map.Entry<String, String> pair : copy.entrySet()) {
            if (pair.getValue().equals(value)) {
                map.remove(pair.getKey());
            }
        }
    }
этот метод ,сколько мое скромное суждение смеет заявлять , на вход принимает "Ключ значение ", "значение", сравнивает значения,ив случае совпадения,удаляет по ключу. Не проще ли чем создавать бог знает что,просто в него передавать?Или я что то уж совсем не так понимаю? Начинаю чувствовать себя аутистом