Собственно подскажите пожалуйста для чего нам нужем этот конструктор
public Solution() {
        this.map = new HashMap<Integer, String>();
    }
Далее вопрос для чего мы вызываем конструктор под названием Solution на мапе
solution.map.put(index, name);
Можно же просто
map.put(Index, name)
или вообще
map.put(Integer.parseInt(reader.readLine), reader.readLine());