Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] LinkedList tem ou não tem índice?

Fiquei na dúvida com o tópico do Daniel onde o professor Otávio Prado diz que o LinkedList não possuem índices. Mas nas alternativas sobre o LinkedList a assertiva d) está como correta, onde se diz: "Todas as listas possuem um índice". No caso essa assertiva estaria incorreta? logo que o LinkedList é uma lista e não tem índices?

1 resposta
solução!

Olá Alisson, tudo bem com você?

É correto afirmar que todas as listas possuem índices, mas todas as listas tem suas maneiras de lidar com índices. No caso de uma ArrayList, que é implementada a partir de um Array, fica mais clara a indexação, uma vez que é a partir dos próprios índices do array. Por exemplo: em um array de 10 posições, sabemos que existem índices do 0 ao 9, que podemos utilizar para acessar seus elementos.

No caso de uma LinkedList também há indexação, pois ela guarda os elementos de forma sequencial; no entanto, o acesso a um índice n dentro de uma lista ligada é um pouco mais complicada pela sua implementação, onde numa ArrayList temos o acesso instantâneo, por ser guardado em sequência na memória graças à estrutura do array, na LinkedList, cada elemento guarda uma referência para o próximo item da lista, assim, garantindo sua ordem. Essa técnica para garantir a ordem da LinkedList, porém, torna um pouco mais custoso acessar elementos que estão em seu meio pois ela tem que ir do elemento na primeira posição (índice 0), até a n-ésima posição, um por um, perguntando qual o próximo elemento para cada um dos elementos, até chegar na posição desejada.

Portanto, a LinkedList conta com indexação, mas que é de mais difícil acesso, com base na sua implementação! A estrutura de dados que não conta com índices é o conjunto Set, pois ele não garante ordenação!

Para entender mais a fundo, recomendo a leitura da documentação da classe LinkedList, onde tem mais detalhes sobre essa estrutura em Java! A documentação está em inglês mas, caso seja necessário, você pode utilizar a ferramenta de tradução do seu navegador para facilitar o entendimento! Além disso, é interessante a leitura do artigo de instrodução às estruturas de dados em Java, onde é comentado sobre as listas ligadas e outras estruturas!

Em caso de dúvidas, estou à disposição.

Um grande abraço e bons estudos!

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software