Ваши определенные методы public boolean equals(Object f)
и public int hashCode()
в классе Foo
, которые в основном говорят, что все экземпляры Foo
равны друг другу, поэтому к любому HashSet
можно добавить только один экземпляр Foo
.
Поэтому myFooSet.size()
вернет 1, независимо от количества Foo
элементов, которые вы пытались добавить к нему (если вы добавили хотя бы один).
Примечание: ваш *Метод 1013 * никогда не используется HashSet
, поскольку HashSet
использует только метод equals
, объявленный в Object
class - public boolean equals(Object obj)
- который вы переопределили, чтобы всегда возвращать true
.