我想将[1] [1,2] [1,2,3]等添加到List> 但如果我
,它就不起作用 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);
}
我希望每个元素都不会互相影响。
答案 0 :(得分:1)
我想这就是你要找的东西:
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);
答案 1 :(得分:0)
好吧,我假设第二个列表我命名为a
而不是w
。所以这里的问题是,您应该对添加到列表列表的列表进行深层复制。否则您使用相同的对象。只需添加a.add(new ArrayList(w))
。
答案 2 :(得分:0)
您可以使用以下
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));
}