我有一个带有此初始化的 ArrayList 数组:
distMemoria = new ArrayList[cantCepas];
for (int i = 0; i < sortedList.size(); i++)
{
ArrayList<Integer> arrayPasador = new ArrayList<Integer>();
ArrayList<Integer> distancia = new ArrayList<Integer>();
distMemoria[sortedList.get(i)-1] = new ArrayList<Integer>();
distancia = distancia(sortedList.get(i), mutaciones, arrayPasador);
distMemoria[sortedList.get(i)-1] = distancia;
}
但是对于 for 的每次迭代,我在所有位置都有“距离”的结果。例如,在第一次迭代中, distancia 给了我“[2]”,而在第二次迭代中,给了我“[2, 5]”。但是当我将此结果保存在 distMemory[sortedList.get(i)-1] 中时,两个位置都更新为 [2,5]。
这是怎么回事?我缺少一些参考?