public class No {
public No proximo;
public No anterior;
public Object dado;
public No(No proximo,No anterior, Object dado){
this.proximo = proximo;
this.dado = dado;
this.anterior = anterior;
}
public No(Object dado){
this.dado = dado;
}
// +GETS e SETS
e
public class ListaDuplamenteEncadeada {
public No primeiro;
public No ultimo;
public int numDados = 0;
public ListaDuplamenteEncadeada(){
this.primeiro = null;
this.ultimo = null;
this.numDados = 0;
}
public void adicionarInicio(Object dado){
No novo = new No(dado);
if(this.numDados == 0){
this.primeiro = novo;
this.ultimo = this.primeiro;
}else{
novo.setProximo(this.primeiro);
this.primeiro.setAnterior(novo);
this.primeiro = novo;
}
this.numDados++;
}
e em uma terceira classe fiz o teste:
ListaDuplamenteEncadeada lista = new ListaDuplamenteEncadeada;
lista.adicionarInicio(10);
System.out.println(lista.primeiro);
mas ao invés de imprimir o “10”, ele imprime a referência do nó "No @…"
Não faço idéia de qual seria o problema.
public void imprimir(){
No aux = new No(null);
for(aux = this.primeiro; aux.getProximo() != null; aux = aux.getProximo){
System.out.print(aux.getDado() + " ");
}
}