[英]Unexpected result in arraylist integer - pde
我編寫了一個將2d列表中的數組元素求和並添加到1d列表中的函數:
ArrayList<Integer> sumList(ArrayList<int[][]> list,int side){
ArrayList<Integer> sums= new ArrayList<Integer>();
for(int[][] array : list){
int arraySum = 0;
//arraySum += CalcMove(array,side);
for(int i = 0; i < 8; i++){
for(int j = 0; j < 8; j++){
arraySum+=array[i][j];
}
}
sums.add(arraySum);
//println(arraySum);
}
println(sums);
//sums.add(0);
//println(sums);
return sums;
}
問題是,結果完全不相關,模棱兩可,甚至沒有列出。 println結果:
[-232,-232,-232] -232 [-232,-232,-232] -232 [-223,-223,-223] -223 [-223,-223,-223,-223]- 223 [-219,-219,-219] -219 [-214,-214,-214] -214 [-14,-14,-14] -14 [-10,-10,-10] -10 [ -5,-5,-5] -5 [-4,-4,-4,-4] -4 [-4,-4,-4,-4] -4 [-4,-4,-4 ,-4] -4 [-4,-4,-4,-4] -4 [-4,-4,-4,-4] -4 [-4,-4,-4,-4,- 4,-4,-4,-4,-4,-4,-4,-4,-4,-4] -4 []
但是,當我在循環外添加另一個元素(在這種情況下,它為零)時,結果將是確定的(我仍然不確定是否是這樣)。 之后的println結果:
[-232,-232,-232、0]
我對此完全感到困惑,因為我很確定該函數沒有任何問題,因為我進行了單獨測試,並且一切正常。 它不可能是arraylist,因為我用c#編寫了整個項目,並且也很好用。
這是一種將2d數組中的所有整數收集並放入列表中的方法。
public static List<Integer> listElements(int[][] array) {
List<Integer> list = new ArrayList<Integer>();
for (int[] subArray : array) {
IntStream.of(subArray).forEach(i -> list.add(i));
}
return list;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.