LinkedList Java atravessa e imprime
Eu realmente aprecio se você puder ajudar a responder a esta pergunta:
Eu já criei uma lista vinculada personalizada de maneira muito padronizada usando o Java. Abaixo estão minhas aulas:
<code>public class Node { private Object obj; private Node next; public Node(Object obj){ this(obj,null); } public Node(Object obj,Node n){ this.obj = obj; next = n; } public void setData(Object obj){ this.obj = obj; } public void setNext(Node n){ next = n; } public Object getData(){ return obj; } public Node getNext(){ return next; } } public class linkedList { private Node head; public linkedList(){ head = null; } public void setHead(Node n){ head = n; } public Node getHead(){ return head; } public void add(Object obj){ if(getHead() == null){ Node tmp = new Node(obj); tmp.setNext(getHead()); setHead(tmp); }else{ add(getHead(),obj); } } private void add(Node cur,Object obj){ if(cur.getNext() == null){ Node tmp = new Node(obj); tmp.setNext(cur.getNext()); cur.setNext(tmp); }else{ add(cur.getNext(),obj); } } } </code>
Estou tentando imprimir valor eu inseri na lista como abaixo
<code>public static void main(String[] args) { // TODO code application logic here Node l = new Node("ant"); Node rat = new Node("rat"); Node bat = new Node("bat"); Node hrs = new Node("hrs"); linkedList lst = new linkedList(); lst.add(l); lst.add(rat); lst.add(bat); lst.add(hrs); Node tmp = lst.getHead(); while(tmp != null){ System.out.println(tmp.getData()); tmp = tmp.getNext(); } } </code>
mas a saída que recebi do IDE é
<code>linklist.Node@137bd6a1 linklist.Node@2747ee05 linklist.Node@635b9e68 linklist.Node@13fcf0ce </code>
Por que imprime a referência, mas não o valor real da string, como bat, formiga, rato ...?
Se eu quiser imprimir o valor real, então o que devo fazer?
Muito obrigado