Если я изменю один экземпляр ArrayList в массиве, скажем, с индексом 0, другие ArrayList в массиве останутся такими же?
Да, изменение ArrayList с индексом 0 не повлияет на другие индексы. (но убедитесь, что другие индексы не имеют ссылки на тот же ArrayList)
Сценарий 1: (Изменение индекса 0 повлияет на индекс 1)
ArrayList[] arr = new ArrayList[2];
ArrayList aList = new ArrayList();
arr[0] = aList;
arr[1] = aList;
Сценарий 2: (Изменение индекса 0 НЕ повлияет на индекс 1)
ArrayList[] arr = new ArrayList[2];
ArrayList aList1 = new ArrayList();
ArrayList aList2 = new ArrayList();
arr[0] = aList1;
arr[1] = aList2;
Итак, убедитесь, что это Scenerio 2 в вашем коде.
EDIT:
ArrayList<Integer> testArray1 = generatePermutedOrder(N);
for(int j=0; j<timesToLoop; j++)
{
container[j] = testArray1; // same reference pointing to same ArrayList is added in each interation
}
Вы добавляете одну и ту же ссылку к каждому индексу. Таким образом, изменение любого индекса повлияет на остальные индексы.