Зачем нам делать копию словаря , чтобы удалить из него значение ?
HashMap<String,Integer> list = new HashMap<>(map);
for (Map.Entry<String, Integer> pair : list.entrySet())
Почему нельзя сделать вот так?
for (Map.Entry<String, Integer> pair : map.entrySet()) { ...