Est. de Dados -> Lista Ligada -> Adicionando na última posição [+Dúvida]

Boa noite, primeiro post, preciso de vocês :smiley:

Só uma dúvida besta, mas eu odeio não entender alguma coisa e eu não vi lógica no seguinte:

Método para adicionar no fim de uma Lista ligada:

public void adiciona(Object elemento) { if (this.totalDeElementos == 0) { this.adicionaNoComeco(elemento); } else { Celula nova = new Celula(elemento); this.ultima.setProxima(nova); this.ultima = nova; this.totalDeElementos++; } } }

Estou seguindo a apostila da Caelum pra aprender estrutura de dados, mas não entendi porque dentro do else ele chama o this.ultima.setProxima(nova).

Se na próxima linha o this.ultima é referenciado com o endereço do objeto do nova, a chamada deste método não acabou sendo inútil? Ou eu que não entendi o propósito?

Abraços!

o que o método setProxima faz?
posta esse void pra gente…

[quote=pedroroxd]o que o método setProxima faz?
posta esse void pra gente…[/quote]

setProxima neste caso atribui o nova a um atributo Celula proxima que fica dentro da classe Celula. Mais ou menos assim:

public class Celula {
	
	private Celula proxima;
	private Object elemento;

	public void setProxima(Celula proxima) {
		this.proxima = proxima;
...
}

Cara, ao escrever isso eu acho que entendi a coisa…

Eu acho que no atributo Celula proxima dentro do objeto Celula atual (que é o ultima) ele atribui nova, para dizer que o próximo elemento passar a ser esse nova. E aí depois ele referencia o this.ultima apontando para o objeto do nova.

O problema é o nome dos atributos que dificulta tudo na hora de explicar e de entender… o ultima é o nova que era o proxima que bla bla bla :lol:

isso ai… vc pegou o jeito :smiley: