我有一个包含另一个ArrayList(B)的ArrayList(A)。我试图将A n-1 的B添加到A n ,然后将更多内容添加到列表中。一个例子:
list 0: a
list 1: a b
list 2: a b c
list 3: a b c d
我有什么:
public static ArrayList<ArrayList<String>> outer = new ArrayList<>();
public static ArrayList<String> inner = new ArrayList<>();
// ..
// main
populate("b", 0);
// ..
static void populate(String last, int copy_index) {
if(outer.size() == 0) {
outer.add(inner);
outer.get(0).add(last);
} else {
outer.add(inner);
// add the copies
int loop_count = outer.get(copy_index).size();
int end = outer.size() - 1;
for(int i = 0; i < loop_count; i++) {
String temp = outer.get(copy_index).get(i);
outer.get(end).add(temp);
}
outer.get(end).add(last);
System.out.println("list #" + end);
for(int i = 0; i < outer.get(0).size(); i++) {
System.out.println("i: " + i + " " + outer.get(0).get(i));
}
}
}
这似乎附加了原始列表(A 0 )和新列表(A n ),我的列表将成为:
list 0: a
~
list 0: a a b
list 1: a a b
我用outer.get(end).addAll(outer.get(copy_index))
尝试了这个,并且列表0和n的相同副本出现