Exemple #1
0
 public void adicionaQualquerPosicao(int posicao, Object elemento) {
   if (posicao == 0) {
     this.adicionaNoComeco(elemento);
   } else if (posicao == this.totalDeElementos) {
     this.adicionaNoFim(elemento);
   } else {
     Nodo anterior = this.pegaCelula(posicao - 1);
     Nodo nova = new Nodo(anterior.getProxima(), elemento);
     anterior.setProxima(nova);
     this.totalDeElementos++;
   }
 }
Exemple #2
0
 public void removeDoFim() {
   if (!this.posicaoOcupada(this.totalDeElementos - 1)) {
     throw new IllegalArgumentException("Posição não existe");
   }
   if (this.totalDeElementos == 1) {
     this.removeDoComeco();
   } else {
     Nodo penultima = this.ultima.getAnterior();
     penultima.setProxima(null);
     this.ultima = penultima;
     this.totalDeElementos--;
   }
 }
Exemple #3
0
 public void remove(int posicao) {
   if (!this.posicaoOcupada(posicao)) {
     throw new IllegalArgumentException("Posição não existe");
   }
   if (posicao == 0) {
     this.removeDoComeco();
   } else if (posicao == this.totalDeElementos - 1) {
     this.removeDoFim();
   } else {
     Nodo anterior = this.pegaCelula(posicao - 1);
     Nodo atual = anterior.getProxima();
     Nodo proxima = atual.getProxima();
     anterior.setProxima(proxima);
     proxima.setAnterior(anterior);
     this.totalDeElementos--;
   }
 }