我已经编写了一个函数来插入两个数组之间的步骤,但是直到插值完成才需要知道所需的步数。在ArrayList中动态生成和存储基元
这里是我的功能:
int[][] interpolate(int[] source, int[] goal){
int[] current = new int[source.length];
ArrayList<int[]> steps = new ArrayList<int[]>();
while(/* condition */){
// Change value of current
steps.add(current);
}
int[][] stepsArr = steps.toArray(new int[0][0]);
return stepsArr;
}
我用一个ArrayList来存储状态,因为我产生他们尝试过,但摸索出的ArrayList只存储指针,从而最终ArrayList中包含多个指针到同一个对象(当前的最终值)。
有什么办法来动态生成int []实例来存储在步骤,否则生成一个整数的二维数组?
这打破了代码:OP迭代地将插值应用于相同的数组。你需要一个前一个数组的副本。 – 2014-08-28 11:02:18