Как удалить из hashmap все элементы с одинаковым значением?
Есть у нас hashMap типа HashMap <String, String> map = new HashMap<>();
Во второй строке могут повторятся значения, как мне после добавления всех элементов удалить все с одинаковыми значениями? Итерировался бы хешмеп как массив, задача была бы лёгкой, а так, что-то не понимаю.
Создаёшь новый пустой HashMap newMap - это будет результат.
Создаёшь пустой Set newSet - через него будем фильтровать значения.
Из заданного HashMap oldMap получаем все ключи из oldMap (key) как keySet - это набор всех ключей твоего oldMap.
Проходишь по oldMap с помощью keySet, извлекая поочерёдно значения (val) из oldMap.
Каждое значение val проверяешь на наличие его в newSet.
Если оно там присутствует, ты нашёл ключ к дублированному в oldMap значению val и не сохраняешь его.
Если val в newSet отсутствует, помещаешь его туда и копируешь пару key<->val из oldMap в newMap;
После конца алгоритма в newMap имеешь набор только уникальных значений.