Fala, pessoal.
Pra quem esteve testando e vendo os resultados muito parecidos na operação de adicionar nas duas listas: o método add default para ambas adiciona os elementos no final da lista, por isso a diferença é quase nenhuma ou até mesmo a ArrayList sendo mais eficiente.
Alterando o método insereElementosNo para:
private static long insereElementosNo(List<Integer> numeros, int quantidade) {
long ini = System.currentTimeMillis();
ArrayList<String> teste = new ArrayList<>();
for (int i = 0; i < quantidade; i++) {
numeros.add(0, i);
}
long fim = System.currentTimeMillis();
return fim-ini;
}
Onde realmente adiciona no início da lista para ambas implementações - aí sim estamos querendo comparar o que queremos - a LinkedList tem uma diferença avassaladora.
Segue meu comparativo para os 1kk de elementos
Espero ter ajudado. Abs!