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