Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exercício 13 cap5 Collections Framework

Dúvida, na resposta que o instrutor coloca, o mesmo afirma que a LinkedList é mais rápida que a ArrayList, porém com meu código a Array List se tornou mais rápida que a Linked. Segue meu código abaixo:

package exercicio.cap5.java.util;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

public class TestaPerformance {

    public static void main(String[] args) {

        System.out.println("Inciando...");

        //ArrayList
        List<Integer> teste = new ArrayList<>();

        long inicio = System.currentTimeMillis();

        int total = 30000;

        for (int i = 0; i < total; i++) {
            teste.add(0, i);
        }

        for (int i = 0; i < total; i++) {
            teste.get(i);
        }

        long fim = System.currentTimeMillis();

        double tempo = (fim - inicio) / 1000.0;

        System.out.println("ArrayList");
        System.out.println("Tempo gasto: " + tempo + " ms");

        //LinkedList
        teste = new LinkedList<>();

        inicio = System.currentTimeMillis();

        for (int i = 0; i < total; i++) {
            teste.add(0, i);
        }

        for (int i = 0; i < total; i++) {
            teste.get(i);
        }

        fim = System.currentTimeMillis();

        tempo = (fim - inicio) / 1000.0;

        System.out.println("LinkedList");
        System.out.println("Tempo gasto: " + tempo + " ms");

    }

}

Console:

Inciando...
ArrayList
Tempo gasto: 0.087 ms
LinkedList
Tempo gasto: 0.593 ms
2 respostas
solução!

Cristiano, o linkedlist é mais rápido pra inserir arquivos na primeira posição.

 for (int i = 0; i < total; i++) {
            teste.get(i);
        }

Você usou esse for tanto no Array quanto no Linkedlist.

Mas a comparação é so de adicionar numero na posição 0, então tem que tirar esses dois for de lá.

Rapaz não é que é mesmo, que vacilo meu. Obrigado!