2014-02-12 61 views
2

我有一個名爲數據的鏈表中名爲subdata的鏈表,我想訪問我使用鏈表數據添加的字符串,比如element1。我有一些代碼,但我不能讓它工作。我嘗試了一堆不同的東西,如Object obj=x.next();而不是LinkedList<Strings> obj=x.next();。我也在印刷品聲明中嘗試過x.next().get(0);,但沒有運氣。訪問鏈接列表中的對象的元素

LinkedList<LinkedList> data=new LinkedList<>(); 
LinkedList<String> subData=new LinkedList<>(); 

subData.add("element1"); 
data.add(subData); 
Iterator x = data.listIterator(0); 
while(x.hasNext()){ 
LinkedList<String> obj=x.next(); 
System.out.println(obj.get(0)); 
} 

錯誤:

aclass.java:245: error: incompatible types 
    LinkedList<String> obj=x.next(); 
           ^
     required: LinkedList<String> 
     found: Object 
+1

那麼,你的例子*做*的工作,但你忘了你的while循環右括號! – Balder

+0

我在代碼中使用了右大括號,但它給了我一個錯誤,我會在上面貼出來。 – user2644819

回答

3

你打字一般被搞砸了。試試這個:

public static void main(String[] args) { 
    LinkedList<LinkedList<String>> data=new LinkedList<>(); 
    LinkedList<String> subData=new LinkedList<>(); 

    subData.add("element1"); 
    data.add(subData); 
    Iterator<LinkedList<String>> x = data.listIterator(0); 
    while(x.hasNext()){ 
     LinkedList<String> obj=x.next(); 
     System.out.println(obj.get(0)); 
    } 
} 
+0

有道理,謝謝! – user2644819

1
System.out.println("elements1: " + data.iterator().next().iterator().next()); 
+0

有沒有更清潔的方法呢? – user2644819