将元素添加到List <list <integer>&gt;

时间:2015-06-26 02:42:41

标签: java

我想将[1] [1,2] [1,2,3]等添加到List&gt; 但如果我

,它就不起作用
  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);
  }

我希望每个元素都不会互相影响。

3 个答案:

答案 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));
}