Собственно вот: 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());
       }
   }