Собственно вот:
1) Почему map.remove() не удаляет без передачи значения. Ведь в лекции было что Iterator.remove() удаляет текущий в проходке элемент. а итератор и for each это одно и тоже?
2) Почему не удаляет по map.remuve(pair.get.Value()); а только по map.remove(pair.get.Key());?
public static Map<String, Integer> createMap() {
Map<String, Integer> map = new HashMap<String, Integer>();
for(int i=0;i<10;i++){
map.put("F"+i, i+495);
}
return map;
}
public static void removeItemFromMap(Map<String, Integer> map) {
Map<String, Integer> copy = new HashMap<>(map);
for(Map.Entry<String, Integer> pair : copy.entrySet()){
if (pair.getValue()<500)
map.remove(pair.getKey());
}
}