Beispiel

List list = new ArrayList();
...

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

Lösung
Im Beispiel führt die Listenmethode 'contains' eine lineare Suche durch, die bei einer umfangreichen Liste kostenintensiv sein kann. Bei einer Änderung in 'Set' ist kein Aufruf von 'contains' erforderlich, da 'Set' die Eindeutigkeit garantiert. Änderungsvorschlag:


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


Falls die Insertion wichtig ist, verwenden Sie 'LinkHashSet' anstelle von 'HashSet'. Änderungsvorschlag:


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