ans.put(key, new ArrayList());
Эта команда вставляет новый ключ с новым пустым ArrayList в качестве значения для HashMap, если ключ не существует на карте, или заменяет значение существующего ключа на новый пустой ArrayList.
ans.get(key).add(s);
Эта команда запрашивает значение ключа в HashMap и добавляет новое значение String в сохраненный ArrayList. Эта команда выдает исключение NullPointerException, если ключ не существует в HashMap.
Метод put в HashMap сохраняет пару ключ-значение. Метод get HashMap запрашивает значение пары ключ-значение по ключу.