Вам не нужно compareTo()
, потому что это даст вам определение порядка элементов (хотя оно может сказать вам, равны ли два объекта).Если порядок здесь не важен, это все равно не то, что вам нужно.
Если предположение о том, что порядок не требуется, является правильным, то все, на что вы должны полагаться, - это метод equals(
) каждогоэкземпляр в коллекции.
- Если
E
правильно переопределяет методы equals()
и hashCode()
, сам E
сможет определить, находится ли элемент в этой коллекции. - Если он не переопределил метод
equals()
, то экземпляр будет опираться на реализацию equals()
*1016*, которая просто сравнивает ссылки (если они оба ненулевые).
Я бы посоветовал вам сначала убедиться в четкости требования этого задания.Если в требованиях указано что-то более конкретное, вы можете определить, какое равенство существует в вашей коллекции.Если вы не можете получить ничего более ясного, я думаю, что ваш единственный выбор - полагаться на реализацию E
equals()
.