Exibir os valores de uma lista ligada é um processo simples.
Ele é basicamente realizado iniciando pelo primeiro valor da lista ligada, e a partir dele vamos acessando os demais utilizando a referência do próximo nó da lista.
Veja na imagem a seguir a estrutura de uma lista ligada para ficar mais claro o entendimento:
Conforme podemos observar, um elemento da lista ligada somente pode ser acessado percorrendo a lista a partir do nó inicial, pois não existe acesso direto via índice como ocorre com as listas nativas.
Este é um ponto negativo da lista ligada, pois se o seu algoritmo faz mais acesso de leitura do que escrita em uma lista, listas nativas serão a escolha para ele.
Vamos agora ver qual o algoritmo para a exibição de valores de uma lista ligada.
Primeiramente precisaremos de um método que tenha acesso ao nó inicial da lista ligada, pois ele é o primeiro elemento da lista e contém a referência para continuarmos o acesso aos demais elementos.
Uma vez tendo acesso ao nó inicial, devemos criar uma laço do tipo while para ficar iterando até o nó final da lista.
Para identificarmos o final da lista, basta verificarmos se o nó possui referência ou não para outro nó, pois quando ele for null, significa que atingimos o fim da lista.
E para finalizar, obviamente precisamos mover a referência do nó para o nó seguinte, caso contrário teremos um laço infinito por nunca atingir o fim da lista.
Veja a seguir uma implementação de um método de exibe os valores de uma lista ligada, recebendo como parâmetro o nó inicial da lista.
// recebe um nó (node) de inteiros
public void exibirValores(Node<Integer> node) {
while (node != null) { // verifica se o nó não é null
System.out.println(node.getValor()); // imprime o valor do nó
node = node.getProximo(); // move o cursor para o nó seguinte
}
}
Repare como o código é bastante simples e fácil de entender, e perceba também como ela pode ser lenta para acessar os valores da lista pelo fato de precisarmos sempre percorrer a lista para encontrar qualquer valor presente nela.