Правильный ответ для Java - использовать Set . Если у вас уже есть List<Customer>
и вы хотите скопировать его
Set<Customer> s = new HashSet<Customer>(listCustomer);
В противном случае просто используйте Set
реализацию HashSet
, TreeSet
напрямую и пропустите этап построения List
.
Вам нужно будет переопределить hashCode()
и equals()
для классов вашего домена, которые также помещены в Set
, чтобы убедиться, что поведение, которое вы хотите, действительно соответствует вашему. equals()
может быть таким же простым, как сравнение уникальных идентификаторов объектов, и таким же сложным, как сравнение каждого поля. hashCode()
может быть так же просто, как вернуть hashCode()
представления уникального идентификатора 'String
или hashCode()
.