Как уже упоминалось, вы, вероятно, не правильно используете equals ().
Однако вы также должны заметить, что этот код считается весьма неэффективным, поскольку время выполнения может быть числом квадратов элементов.
Возможно, вы захотите рассмотреть возможность использования структуры Set вместо списка, или сначала создать набор, а затем превратить его в список.