Наборы, которые равны и в них нет ничего странного (т. Е. Что-либо с нестабильным хеш-кодом или где хеш-код несовместим с равными), должны иметь равные хеш-коды.Если это не так, и наборы относятся к одному и тому же типу набора , это ошибка, о которой следует сообщить.Если наборы являются различными типами наборов, может быть или не быть ошибкой иметь разные хеш-коды (но в любом случае это должно совпадать с равными).Однако я не знаю ни одного случая, когда реализации различных наборов не были бы равными (например, даже изменяемый BitSet соглашался с неизменным Set). гарантированно должен быть уникальным, но он должен быть хорошо распределен, так как вероятность коллизий должна быть низкой
hashCode наборов должен всегда соответствовать равным (при условии, что все, что вы положили в наборхэш-код соответствует (равно) в том, что равные наборы имеют равные хэш-коды.(Обратное неверно из-за пункта (1).) Устанавливает заботу только об идентичности содержимого, а не о порядке добавления к набору (это смысл иметь набор вместо, скажем,, список)