2013-06-04 45 views
-2

所以我是Java的新手,試圖理解鏈表。我在YouTube上找到了一個教程,介紹製作鏈接列表的步驟。這是我堅持:試圖在Java中隱藏和鏈接列表

public class List { 

    public String bookName; 
    public int millionsSold; 

    public List next; 

    public static void main(String[] args) 
    { 

    } 

} 

public List next

- 什麼恰恰是這一點,這是什麼意思?它是某種容器嗎?

+3

天上親愛的。您需要閱讀Java類的超級基本描述。 – Colleen

+1

它只是對「List」類型的另一個對象的引用。 –

+0

http://www.tutorialspoint.com/java/java_object_classes.htm – Colleen

回答

2

它只是一個參考變量來保存下一個元素的引用LinkedList,你可以直接使用,而不是寫一個

-1

本聲明的LinkedList實施宣稱它指向相同的「列表」類型的另一個對象的變量。

順便說一句,你不需要自己創建一個鏈表,除非你想練習你的編碼技能。已經有一個內置的類:http://docs.oracle.com/javase/6/docs/api/java/util/List.html

+1

但是在這種情況下顯然不是被引用的'List'。 –

+0

是的,在這種情況下,它引用List類本身。感謝您指出。 –

+0

Nit-picky但列表是接口,LinkedList可能是OP正在尋找的 –

2

Linked List執行Next通常指的是序列中的下一個節點(或鏈接)。

用途:

List head = new List(); 
head.next = new List(); 
... 

void iterate() 
{ 
    List node = head; 
    while(node != null) 
    { 
     System.out.println(node); 
     node=node.next; 
    } 
} 
2

你所試圖實現是singly-linked-list。這意味着您的列表中的每個元素指的是下一個元素列表,或在列表的末尾:

Illustration of singly-linked-list taken from the Wikipedia article

在你的情況,next會參考下一個框,所以基本上值存儲在圖片中的大點上。該列表本身將是對第一個元素的引用(即圖中包含12的框)。

2

列表中的每個元素(我們稱之爲節點)都包含兩項 - 數據和對下一個節點的引用。最後一個節點有一個對null的引用。鏈接列表的入口點稱爲列表頭。應該注意的是,head不是一個單獨的節點,而是對第一個節點的引用。如果列表爲空,則頭部爲空引用。

enter image description here

Linked Lists - Victor Adamchik - Carnegie Mellon University