Todo mundo falando que o exemplo é ruim (de fato é). Vou dar um exemplo real.
Numa determinada rotina tinha algo assim (java):
if (!codigos.contains(codigo)) {
codigos.add(codigo);
rotina(codigo);
}
A questão é que códigos acima era um List. Trocamos por um HashSet e o codigo final ficou
if (codigos.add(codigo)) {
rotina(codigo);
}
Ou seja, se add retornar true é porque o elemento não existia no set e foi adicionado então podemos rodar a rotina. Como tinha bastante elementos a diferença foi muito perceptível.