我想将[1][1,2][1,2,3]等添加到列表>但如果我,它就不起作用
List<Integer> w = new ArrayList<Integer>();
List<List<Integer>> a = new ArrayList<ArrayList<Integer>>();
for(int i=1;i<n; i++){
w.add(i);
a.add(w);
}
我希望每个元素不受彼此的影响。
我想这就是您想要的:
List<Integer> w = new ArrayList<Integer>();
List<ArrayList<Integer>> a = new ArrayList<ArrayList<Integer>>(); //Use Arraylist inside
for(int i=1;i<10; i++){
w.add(i);
a.add(new ArrayList(w));
}
System.out.println(w);
System.out.println(a);
您可以使用以下
List<List<Integer>> a = new ArrayList();
for(int i=1;i<10; i++){
// your logic here make use of Arrays.asList()
a.add(Arrays.asList(i, i+1));
}
我假设第二个列表命名为a
而不是w
。所以这里的问题是,您应该对添加到列表列表中的列表进行深度复制。否则,您将使用相同的对象。只需添加a.add(new ArrayList(w))
。