(Обновленное решение для регистрации удаленных значений)
В этом решении используется библиотека Google-коллекций [ LINK ]
import static com.google.common.collect.Maps.filterValues;
import static com.google.common.base.Predicates.equalTo;
...
Map<String, String> removedValues = filterValues(hMap, equalTo("Two"));
System.out.println(removedValues); //Log Removed Values
removedValues.clear(); //Removes from original map, since this is a view.
Примечание. В этом решении используется тот факт, что карта, возвращаемая вызовом filterValues, является представлением элементов в исходном HashMap. Это позволяет нам изучить их и выйти из списка удаленных ключей, а затем удалить их с исходной карты простым вызовом clear ().
У вас могут быть причины, по которым вы не хотите использовать библиотеку google-коллекций в своем проекте, но если вы этого не сделаете, я бы рекомендовал проверить это.