将元素添加到列表<列表<整数>>



我想将[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))

最新更新