Метод get()
HashSet
(или любая реализация Set
) будет избыточным, поскольку, если set.contains(x)
возвращает true
, у вас уже есть ссылка (x
) на экземпляр, который считаетсяравный соответствующему элементу Set
.
В интерфейсе Map
необходимо map.get(key)
, чтобы получить значение, связанное с ключом.В интерфейсе Set
есть только ключ, с которым нет (значащего) значения.
Я также понимаю, что оба этих класса являются реализациями хеш-таблицы.
Если под этим утверждением вы подразумевали, что HashSet
реализован с резервным экземпляром HashMap
, это просто детали реализации.Значения, соответствующие ключам этой основы HashMap
, являются ссылками на один и тот же фиктивный объект.Нет никакой причины звонить get()
для поддержки HashMap
.