Я не уверен, что это официальная причина, но AbstractCollection избегает добавления семантических ограничений на потенциальные подклассы. Семантика равенства определяется природой конкретной наследуемой структуры данных и, в частности, зависит от того, упорядочена ли ваша структура и допускает ли она дублирование.
Например, рассмотрим TreeSet, LinkedList, Bag и т. Д.
Кстати, в отношении кода, который вы разместили, каков реальный тип того, что возвращается значениями? Это должен быть подкласс с конкретной реализацией. Если ваша карта пуста, когда вы запускаете этот код, возможно, вы получите что-то, что не считает два пустых набора равными.