Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ArrayList的数据结构_Java_Android_List_Arraylist - Fatal编程技术网

Java ArrayList的数据结构

Java ArrayList的数据结构,java,android,list,arraylist,Java,Android,List,Arraylist,我想在数组列表中存储数据结构。 我的数据结构如下: public class Node{ private double weight; private int floor; private List<Integer> nodelist= new ArrayList<Integer>(); } 现在的问题是:如果我这样做,我的ArrayListnl中的ArrayList总是相同的,我不知道我的错误在哪里。 第一次我只是用ArrayList

我想在
数组列表中存储
数据结构
。 我的数据结构如下:

public class Node{
     private double weight;
     private int floor;
     private  List<Integer> nodelist= new  ArrayList<Integer>();
}
现在的问题是:如果我这样做,我的
ArrayList
nl中的
ArrayList
总是相同的,我不知道我的错误在哪里。 第一次我只是用
ArrayList
尝试了它,但后来我切换到了List,因为我在Stackoverflow上看到,这应该用于在
ArrayLists
中存储
ArrayLists
。 但这对我没有帮助

在您的代码中

nl.add(new Node(0,1, xy.getnodelist());
                     ^^^^^^^^^^^^^^^^
部分I高亮显示不创建新列表,它返回对现有列表的引用。这就是为什么您的列表总是相同的(因为只有一个列表,只有几个引用)

听起来你在找我

nl.add(new Node(0,1, new ArrayList<Integer>(xy.getnodelist()));
nl.add(新节点(0,1,新数组列表(xy.getnodelist()));

变量xy是在哪里定义的?你能更清楚一些吗?你能发布你用来填充节点列表的构造函数吗?函数getnodelist()正在返回ArrayList。因此,我认为变量xy的定义方式无关紧要。从getnodelist返回的列表始终正确,但如果我使用调试器,则会覆盖ArrayList中所有其他存储的列表。
nl.add(new Node(0,1, new ArrayList<Integer>(xy.getnodelist()));