Пример

List list = new ArrayList();
...

if (!list.contains(someObject)) {
...
list.add(someObject);
...
}

Исправление
В данном примере метод списка "contains" выполнит линейный поиск, который может потребовать слишком много затрат, если список большой. Если заменить его на set, исчезнет необходимость вызывать contains, поскольку Set гарантирует уникальность. Рекомендуемое изменение:


Set set = new HashSet();
...
set.add(someObject);
...


Если порядок вставки важен, используйте LinkHashSet вместо HashSet. Рекомендуемое изменение:


Set set = new LinkedHashSet();
...
set.add(someObject);
...