Если на собеседовании сделал для конкретного примера, то это, конечно, дико плохо. Я бы не взял тебя даже стажёром. Это показывает полное непонимание происходящего. Совет - пиши больше кода.
Old-John, потому что возвращение null само по себе никаких гарантий не нарушает. Обычно это нужно, чтобы совершить какие-то действия с объектом после удаления из мапы. Если так хранился, то и действовать надо соответственно.
В случае с HashSet при возврате null будет непонятно - объекта там не было или был.
Johnny_Bravo, почитай любой гайд по ресайклеру, сравни со своим кодом. Не буду же я тебе здесь пересказывать. На какие методы обратить внимание, написал.