2013-07-30 24 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()));