1
resposta

Performance da ArrayList vs LinkedList

Fiz uma pequena alteração no código do professor na quantidade de elementos para remover para avaliar "melhor" a performance das listas no cenário proposto, isto é, no tempo que o tipo de lista leva para inserir 1.000.000 elementos (um milhão) na primeira posição e no tempo em que levam para remover 1.000 (mil) elementos na primeira posição.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeO que ficou para mim aqui "claro" após alguns testes, foi que para inserir elementos na primeira posição, considerando que estamos falando de milisegundos, a performance foi similar, com uma ligeira vantagem para a lista do tipo Array.

Já no caso de remoção, ai o negócio mudou completamente de figura: Me pareceu que nesse momento, com 1.000 elementos, a lista do tipo Array "sofreu" para mover 1.000 elementos, considerando o universo de 1.000.000 elementos que tinha para reposicionar.

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeE para ilustrar o que o professor também falou, ao alterar o universo de elementos para 1000 e alterando o código para inserir também 1000 elementos na primeira posição, não fez diferença o tipo de lista utilizada (conforme imagem acima, o processador levou 1 milisegundo em todos os casos).

Em outras palavras, a depender da aplicação e do universo de elementos do problema, cada tipo da lista irá mudar radicalmente a performance de processamento. No exemplo proposto pelo professor, ficou mais claro para mim que a lista do tipo Linked foi mais eficiente.

Em suma, espero que o raciocínio exposto acima possa ajudar outros colegas, que como eu, também tiveram dúvidas sobre qual das listas performou melhor no exemplo.

1 resposta

Olá Rafael! Tudo bem?

Excelente explicação sobre o uso de collecitons!

Essa questão de performance entre a ArrayList e a LinkedList é muito interessante de ser analisada, e o seu exemplo foi muito bom!

Fique a vontade para compartilhar com os colegas aqui do fórum o que está aprendendo... explicações como essa com certeza ajudam muito quem está tendo um primeiro contato com o tema, e também te ajudam, pois quando preparamos um resumo do aprendizado como esse, fixamos ainda mais o conhecimento que acabamos de ter com o curso.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!