Olá Bom dia, eu tenho uma duvida sobre as listas duplamente ligadas, quando eu adiciono uma celula a lista se o totalDeElementos for 0 ele cria uma uma celula e o proximo recebe null e entao setamos o primeiro e ultimo como nova, porem quando totalDeElementos for maior que 0, criamos uma celula passando o elemento e o primeiro(que é a referencia a ultima celula inserida) entao setamos a anterior e depois dizemos que o primeiro é igual a nova celula segue o codigo
if(this.totalDeElementos == 0) {
Celula nova = new Celula(elemento);
this.primeiro = nova;
this.ultima = nova;
// ate aqui tudo ok, pois estaos adicionando a primeira celula a lista
}else {
Celula nova = new Celula(elemento, this.primeiro);
/* a dúvida é aqui, porque estamos setando a anterir nova
e logo abaixo estamos trocando a referencia de this.primeiro para a nova celula??? para que eu seto a anterior e mudo a referencia do objeto */
this.primeiro.setAnterior(nova);
this.primeiro = nova;
}
Eu nao consehui entender como funciona eu dar um setAnterior() e depois atribuir a this.primeiro outro objeto.