с методом createMap все понятно, там проблем нет, создал список, добавил значения, вернул список и всё... а с этим методом то что я не так делаю?
public static void removeItemFromMap(HashMap<String, Integer> map) { //вот собственно сам метод, принимает HashMap "map"
    //-ПЕРВЫЙ ВОПРОС ниже
    HashMap<String, Integer> c = map; //создаю копию (не знаю зачем, "так надо", иначе не работает, если кто объяснит, буду очень признателен)
    for (HashMap.Entry<String, Integer> p : c.entrySet()){ //p - цикл итератор, перебирает ту самую копию коллекции
     //-ВТОРОЙ ВОПРОС ниже
        if (p.getValue()<500){ //если значение оказалось меньше 500, удаляем текущий ключ (я же правильно понимаю это действие?) можно наверное даже фигурные скобки удалить?
            map.remove(p.getKey()); //собственно само действие, если условие выше верно, удаляю текущий ключ, значение от которого подошло условию.
        }
    }
}
закоментировал оба вопроса в коде, думая что так будет удобнее понять что я спрашиваю)) не знаю как иначе их сформулировать.