ola tudo bem Friends, gostaria de entender mais este medodo algumas linhas.
package br.com.caelum.ed.listasligadas;
public class ListaLigada {
....................................................
// metodo remove do fim
public void removeDoFim() {
// verifica se a ultima posicao existe
if (!this.posicaoOcupada(totalDeElementos - 1)) {
throw new IllegalArgumentException("Posicao nao existe");
}
// se a lista estiver com apenas um elemento e a mesma coisa que remover
// do começo
if (totalDeElementos == 1) {
this.removeDoComeco();// se o total de elementos for igual a 1 ira
// remover do começo
} else {
Celula penultima = this.ultima.getAnterior();
penultima.setProxima(null);
this.ultima = penultima;
totalDeElementos--;
}
}
if (!this.posicaoOcupada(totalDeElementos - 1)) nao entendi o total de elementos -1
else {
Celula penultima = this.ultima.getAnterior();
penultima.setProxima(null);
this.ultima = penultima;
totalDeElementos--;// aqui significa que esta fazendo a remoçao certo ? nao entendi estes metodos do else
public class Celula {
.....................
//para as celulas saber qual e sua anterior
public Celula getAnterior(){
return anterior;
}
public void setAnterior(Celula anterior){
this.anterior = anterior;
}