2013-07-30 21 views
-1

我想將Data Structure存儲在ArrayList中。 我的數據結構如下:ArrayList的數據結構

public class Node{ 
    private double weight; 
    private int floor; 
    private List<Integer> nodelist= new ArrayList<Integer>(); 
} 

我想存入以下列方式這個數據結構:因此,我已經是一個ArrayList在哪裏存儲節點列表事後我只想strore這個名單之前創建在ArrayList,正如我在下一行做:

ArrayList<Node> nl = new ArrayList<Node>(); 
nl.add(new Node(0,1, xy.getnodelist()); 

的問題是現在以下幾點:如果我這樣做,我ArrayList N1內的ArrayList始終是相同的,我不知道我的錯誤是。 我第一次嘗試它只與ArrayList,但後來我切換到列表,因爲我在Stackoverflow閱讀,這應該用於存儲ArrayListsArrayLists。 但這並不能幫助我。

+0

其中變量XY定義? – amatellanes

+1

你能更清楚嗎? – rocketboy

+0

你還可以發佈你用來填充節點列表的構造函數嗎? –

回答

4

在你的代碼

nl.add(new Node(0,1, xy.getnodelist()); 
        ^^^^^^^^^^^^^^^^ 

我highighted不創建一個新的列表中的一部分,它返回到現有列表的引用。這就是爲什麼你的列表總是相同的(因爲只有一個列表,有幾個引用它)。

聲音對我說,你正在尋找

nl.add(new Node(0,1, new ArrayList<Integer>(xy.getnodelist()));