簡體   English   中英

在Java中將ArrayList添加到多個ArrayList

[英]add ArrayList to multiple ArrayList in java

嗨,我有ArrayLists的問題,我有3個列表

ArrayList1<Integer>=[1,2,3]
ArrayList2<Integer>=[]
ArrayList3<ArrayList<Integer>>=[]

ArrayList1元素用於向ArrayList2添加值

for(int i:ArrayList1)
{
  for(int a=0;a<i;a++)
  {
    ArrayList2.add(a);
  }

}

並且工作正常,沒有問題,但是現在我想為ArrayList1中的每個元素添加ArrayList2到ArrayList3,這是我想出的,但它不起作用

 for(int i:ArrayList1)
    {
      for(int a=0;a<i;a++)
      {
        ArrayList2.add(a);
      }
      ArrayList3.add(ArrayList2);
    }

只需使用addAllCollections.fill

list2.addAll(list1);
list3 = new ArrayList<ArrayList<Integer>>(list1.size());
Collections.fill(list3, list2);

請注意, list3將使用相同list2實例填充。

這意味着對list2每次更改都會反映在list3每個元素中。

如果這不是您期望的行為,請遍歷list1的長度並添加一個new ArrayList<Integer>(list2)

for(int a=0;a<i;a++)

是錯的。 您一定不要在a < i處停下來,這沒有任何意義! 您想將整個arrayList2添加到ArrayList3,而不是等於ArrayList1中int i值的整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM