如何在Java中打印链表?

时间:2014-09-20 12:49:06

标签: java list adt tostring

我拼命想要打印我的链表,但无济于事。在网上搜索我发现需要一个tostring方法,但我仍然无法使其工作。

以下是我用于基于参考的链表的代码:

http://pastebin.com/M4PvKcZ8

http://pastebin.com/nCbwa06d

如何打印链接列表项????

注意:链接列表不为空,我刚刚发布了您需要的部分代码来帮助我。

1 个答案:

答案 0 :(得分:1)

您需要在两个类上覆盖toString():列表和项目。然后,在列表的toString()方法内,您正在迭代元素,为每个孩子调用toString()

列表示例:

@Override 
public String toString(){
   StringBuilder builder = new StringBuilder();
   builder.append("ReferenceBasedList[");
   ListNode currentElement = head;

   while (currentElement != null){
      builder.append(currentElement.toString());

      currentElement = currentElement.getNext();

      //seperator if required:
      if (currentElement != null){
        builder.append(", ");
      }
   }

   builder.append("]");
   return builder.toString();
}

通常的做法是在每个元素的末尾添加哈希码,以便在打印时轻松发现2个引用是否指向同一个对象。