Příklad

List list = new ArrayList();
...

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

Řešení
V poskytnutém příkladu metoda List "contains" provede lineární hledání, které může být nákladné, pokud je seznam rozsáhlý. Pokud je změněna na set, nebude žádná potřeba volat contains, poněvadž Set zaručuje jedinečnost. Navržená změna:


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


Pokud je důležité pořadí vložení, použijte LinkHashSet místo HashSet. Navržená změna:


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