Какая доза означает дополнительное условие для добавления, равно, метод хеш-кода интерфейса Set в java - PullRequest
3 голосов
/ 24 апреля 2020

В действующем Java 3 / E Item 41, Marker Annotation

Я видел следующее предложение

Возможно, интерфейс Set является именно таким ограниченным интерфейсом маркера. Он применим только к подтипам Collection, но не добавляет методов, отличных от определенных в Collection. Обычно он не считается интерфейсом маркера, поскольку он уточняет контракты нескольких методов Collection, включая add, equals и hashCode.

, а затем я нашел следующее предложение из docs

Интерфейс Set помещает дополнительные условия, помимо тех, которые унаследованы от интерфейса Collection, в контракты всех конструкторов и в контракты методов add, equals и hashCode. Объявления для других унаследованных методов также включены сюда для удобства. (Спецификации, сопровождающие эти объявления, были адаптированы к интерфейсу Set, но они не содержат каких-либо дополнительных условий.)

, так что .. в случае метода добавления
является «дополнительным условием» Означает ли это, что реализации множеств должны реализовывать метод add, чтобы избежать дублирования элемента?

, если верно, то что такое «дополнительное условие» для equals и hashcode?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...