2017-02-10 70 views
0

我在試圖弄清楚如何顯示LinkedList中的所有元素時遇到問題。我可以通過使用數組列表來追蹤每個元素的索引來解決這個問題,但是我想要解決這個問題,而不使用數組列表或數組。在沒有ListIterator的情況下顯示LinkedList中的所有元素

以下是什麼我現在有,

public void displayItems() 
    { 
     ArrayList<Node> links = new ArrayList<Node>(); 
     links.add(head); 
     for (int x = 0; x < count; x++) 
     { 
      links.add(links.get(x).getLink()); 
      System.out.println(links.get(x).getData()); 
     } 

是有以上但無需陣列或的ListIterator如所提到的,以顯示所有的元件,以類似的方法的方法嗎?

+0

條件爲'thisNode.getLink()!= null'的while循環如何? – Kayaman

回答

1

幾個例子如何通過LinkedList的循環在Java中(包括一個你不喜歡的 - 使用迭代器):

LinkedList<Node> links = new LinkedList<Node>(); 
links.add(firstNode); 
links.add(secondNode); 
links.add(thirdNode); 

/* For loop */ 
for(int i = 0; i < links.size(); i++) { 
    System.out.println(links.get(i).getLink()); 
} 

/* For-each loop */ 
for(Node node: links) { 
    System.out.println(node.getLink()); 
} 

/* While Loop*/ 
int i = 0; 
while (links.size() > i) { 
    System.out.println(links.get(i++).getLink()); 
} 

/* Iterator */ 
Iterator<Node> it = links.iterator(); 
while (it.hasNext()) { 
    System.out.println(it.next().getLink()); 
} 
+0

對於上面的例子,它需要使用「鏈接」數組,我試圖找到一種不使用數組的方法。 –

+0

不,你不需要使用數組。在上面的例子中,變量'links'是LinkedList。 – Vaidas

+0

是不是「LinkedList links = new LinkedList ();」聲明聲明一個數組列表? –

-1

您可以使用一個整數作爲一個全局變量,而將數據插入到鏈表增加這個變量。

在帶有參數位置的LinkedList類中編寫方法。這裏循環到位置,獲取數據並返回相同的數據。

相關問題