В HashSet
сравнение объектов происходит в два этапа:
hashCode()
у сравниваемых объектов. Если хеш-коды не равны, то объекты считаются разными, и дальнейшее сравнение не требуется.equals(Object o)
для детального сравнения объектов. Если equals()
возвращает true
, объекты считаются одинаковыми.Для корректной работы HashSet
(и других коллекций, основанных на хешировании) необходимо, чтобы методы hashCode()
и equals()
были правильно переопределены и следовали контракту:
equals(Object o)
, то вызов метода hashCode()
для каждого из объектов должен возвращать одно и то же целочисленное значение.equals(Object o)
, то вызов метода hashCode()
для каждого из объВ HashSet
сравнение объектов происходит в два этапа:
hashCode()
у сравниваемых объектов. Если хеш-коды не равны, то объекты считаются разными, и дальнейшее сравнение не требуется.equals(Object o)
для детального сравнения объектов. Если equals()
возвращает true
, объекты считаются одинаковыми.Для корректной работы HashSet
(и других коллекций, основанных на хешировании) необходимо, чтобы методы hashCode()
и equals()
были правильно переопределены и следовали контракту:
equals(Object o)
, то вызов метода hashCode()
для каждого из объектов должен возвращать одно и то же целочисленное значение.equals(Object o)
, то вызов метода hashCode()
для каждого из объRegister or sign in to get access to full answers for all questions from the question bank.