Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Testando a performação - Faz muita diferença

Collection<Integer> numeros = new ArrayList<Integer>();

        long inicio = System.currentTimeMillis();

        long iniForInsercao = System.currentTimeMillis();
        for (int i = 1; i <= 50000; i++) {
            numeros.add(i);
        }
        long fimForInsercao = System.currentTimeMillis();
        long totalForInsercao = fimForInsercao - iniForInsercao;

        long iniForBusca = System.currentTimeMillis();
        for (Integer numero : numeros) {
            numeros.contains(numero);
        }
        long fimForBusca = System.currentTimeMillis();
        long totalForBusca = fimForBusca - iniForBusca;

        long fim = System.currentTimeMillis();

        long tempoDeExecucao = fim - inicio;

        System.out.println("Tempo gasto no laço for Inserçao: " + totalForInsercao);
        System.out.println("Tempo gasto no laço for Busca: " + totalForBusca);
        System.out.println("Tempo gasto: " + tempoDeExecucao);

Tempos com HashSet<>();

Tempo gasto no laço for Inserçao: 21 Tempo gasto no laço for Busca: 13 Tempo gasto: 34

Tempos com ArrayList<>();

Tempo gasto no laço for Inserçao: 11 Tempo gasto no laço for Busca: 1870 Tempo gasto: 1881

1 resposta
solução!

Muito bom, Edson.

No caso do ArrayList, a inserção é bem rápida e a busca muito lenta!

No caso do HashSet, a inserção ainda é rápida, embora um pouco mais lenta do que a das listas. Mas a busca é muito rápida!