2014-09-20 71 views
-1

我拼命試圖讓我的鏈表打印,但無濟於事。搜索網絡,我發現需要一個tostring方法,但我仍然無法使它工作。如何在Java中打印鏈表?

下面是我用我的參考依據鏈表代碼:

http://pastebin.com/M4PvKcZ8

http://pastebin.com/nCbwa06d

如何打印鏈接列表項?

注意:鏈表不是空的,我只是發佈了需要幫助我的部分代碼。

+0

爲什麼不使用'LinkedList'? – Hannes 2014-09-20 12:53:54

+0

向我們展示您試圖打印的內容,在您的嘗試中哪些內容無效? – Henry 2014-09-20 12:54:06

+0

這是功課嗎? – 2014-09-20 12:54:47

回答

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名的引用都指向同一個對象。

+0

沒有遞歸的不錯的一個。你可以使用一個'StringBuilder'麪糰。 – Hannes 2014-09-20 12:58:18

+0

是的,Stringbuild將是更好的選擇。 – dognose 2014-09-20 12:58:45