Tudo depende do tipo de operação que você está executando durante a iteração, todas as estruturas de dados têm trocas entre tempo e memória e, dependendo de nossas necessidades, devemos escolher o DS certo. Portanto, há alguns casos em que o LinkedList é mais rápido que o array e vice-versa. Considere as três operações básicas em estruturas de dados.
Como a matriz é uma estrutura de dados baseada em índice, a pesquisa em array.get (index) levará O (1) tempo enquanto a lista vinculada não for o índice DS, portanto, você precisará ir até o índice, onde índice <= n, n é o tamanho da lista vinculada, para que a matriz seja mais rápida na lista vinculada quando tiver acesso aleatório aos elementos.
P. Então, qual é a beleza por trás disso?
Como matrizes são blocos de memória contíguos, grandes pedaços deles serão carregados no cache no primeiro acesso, o que torna comparativamente rápido o acesso aos elementos restantes da matriz, por mais que acessemos os elementos na localidade de referência da matriz também aumenta, portanto, menos capturas falta, a localidade do cache refere-se às operações que estão no cache e, portanto, são executadas muito mais rapidamente do que na memória, basicamente no array, maximizamos as chances de o acesso sequencial ao elemento estar no cache. Embora as listas vinculadas não estejam necessariamente em blocos contíguos de memória, não há garantia de que os itens que aparecem seqüencialmente na lista sejam realmente organizados um perto do outro na memória, isso significa menos ocorrências de cache, por exemplo
Isso é fácil e rápido no LinkedList, pois a inserção é a operação O (1) no LinkedList (em Java) em comparação com o array; considere o caso quando o array estiver cheio; precisamos copiar o conteúdo para o novo array, se o array ficar cheio, o que torna a inserção de um no ArrayList de O (n), na pior das hipóteses, enquanto ArrayList também precisa atualizar seu índice, se você inserir algo em qualquer lugar, exceto no final da matriz, no caso de lista vinculada, não precisamos redimensioná-lo, você só precisa atualizar ponteiros.
Funciona como inserções e é melhor no LinkedList do que no array.