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