1

我有一个带有此初始化的 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]。

这是怎么回事?我缺少一些参考?

4

0 回答 0