HashMap состоит из множества пар ключ-значение. Поэтому, когда вы используете split , придумайте соответствующее регулярное выражение (&). Получив строковый массив, вы можете использовать один из элементов в качестве ключа (подумайте, какой элемент создаст лучший ключ). Однако теперь вы можете задаться вопросом: «Как мне разместить остальные элементы в качестве значений?». Возможно, вы сможете создать новый класс, в котором будут храниться остальные элементы и использовать объекты этого класса в качестве значений для хэш-карты.
Тогда печать станет проще - просто найдите значение соответствующего ключа. Это значение будет объектом; используйте соответствующий метод для этого объекта, чтобы получить элементы, и вы сможете распечатать все.
Также не забывайте обрабатывать исключения в вашем коде. например проверка на нули и т. д.
Другое дело: ваш дядя упоминает слово «сортировать». Я не совсем понимаю, что это значит в этом контексте ...