Использование собственного метода equals () для класса не решает, как проверить, содержит ли коллекция нужный объект. В flex мне всегда приходилось писать a для каждого и перебирать каждый объект-член, чтобы проверить, совпадают ли 2 или более полей. Java позволяет программисту переопределять hashCode () и equals (), которые автоматически используются интерфейсами коллекции.