Java arraylist integer中出现意外结果-pde
我编写了一个函数,将二维列表中的数组元素相加,并将它们添加到一维列表中:Java arraylist integer中出现意外结果-pde,java,arrays,arraylist,integer,processing,Java,Arrays,Arraylist,Integer,Processing,我编写了一个函数,将二维列表中的数组元素相加,并将它们添加到一维列表中: ArrayList<Integer> sumList(ArrayList<int[][]> list,int side){ ArrayList<Integer> sums= new ArrayList<Integer>(); for(int[][] array : list){ int arraySum = 0; //arraySum +=
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;
}
你通过的名单有多大?@NirajPatel每次都不一样。这取决于决策树。您是否有可能运行多个线程?理想情况下,提供一个演示问题的示例…您可以尝试提供一个我前面提到的示例。如果我们能复制它,我相信我们能解决它。不清楚代码中注释掉的行是关于什么的。你确定当你运行代码并生成输出时,它们仍然被注释掉了吗?请发布一个我们可以复制和粘贴以自己运行的日志。具体来说,您需要硬编码一些输入并调用此函数。如果我们看不到您的输入,那么将很难帮助您。