如何把2维数组存到list里?
- Java code
run:这是我计算后得到的二维数组my_Xij[ 0 , 0]: 1.0my_Xij[ 0 , 1]: 1.0my_Xij[ 0 , 2]: 5.0my_Xij[ 0 , 3]: 1.0my_Xij[ 0 , 4]: 1.0my_Xij[ 0 , 5]: 5.0my_Xij[ 3 , 0]: 1.0my_Xij[ 3 , 1]: 1.0my_Xij[ 3 , 2]: 5.0my_Xij[ 3 , 3]: 1.0my_Xij[ 3 , 4]: 1.0my_Xij[ 3 , 5]: 5.0my_Xij[ 6 , 0]: 1.0my_Xij[ 6 , 1]: 1.0my_Xij[ 6 , 2]: 5.0my_Xij[ 6 , 3]: 1.0my_Xij[ 6 , 4]: 1.0my_Xij[ 6 , 5]: 5.0my_Xij[ 9 , 0]: 1.0my_Xij[ 9 , 1]: 1.0my_Xij[ 9 , 2]: 5.0my_Xij[ 9 , 3]: 5.0my_Xij[ 9 , 4]: 5.0my_Xij[ 9 , 5]: 5.0my_Xij[ 12 , 0]: 5.0my_Xij[ 12 , 1]: 5.0my_Xij[ 12 , 2]: 5.0my_Xij[ 12 , 3]: 5.0my_Xij[ 12 , 4]: 5.0my_Xij[ 12 , 5]: 5.0BUILD SUCCESSFUL (total time: 1 second)
下面把这个二维数组转换成list
- Java code
public ArrayList<Double> getMy_Yij(){ double sum = 0.0; ArrayList<Double> my_Yij = new ArrayList<Double>(); for (int r=0; r < getMy_Xij().length; r++) {// getMy_Xij()就是上面的二维数组 for (int c=0; c < windowLength; c++) { sum = sum + getMy_Xij()[r][c]; //计算出每个列的和 } my_Yij.add(sum);//将每一列的和作为元素存入到一个list里 sum = 0.0; System.out.println("my_Y[" + r + "][1] = " + my_Yij.get(r) ); } return my_Yij; } 这个得到以下结果
- Java code
run:my_Y[0][1] = 14my_Y[1][1] = 0.0my_Y[2][1] = 0.0my_Y[3][1] = 14my_Y[4][1] = 0.0my_Y[5][1] = 0.0my_Y[6][1] = 14my_Y[7][1] = 0.0my_Y[8][1] = 0.0my_Y[9][1] = 22my_Y[10][1] = 0.0my_Y[11][1] = 0.0my_Y[12][1] = 30my_Y[13][1] = 0.0my_Y[14][1] = 0.0my_Y[15][1] = 0.0my_Y[16][1] = 0.0my_Y[17][1] = 0.0my_Y[18][1] = 0.0my_Y[19][1] = 0.0BUILD SUCCESSFUL (total time: 0 seconds)
但是其实我只需要这样一个list--{7,7,14,22,30}就是只存二维数组每列的和,各位大侠给点建议吧,谢谢啦?
[解决办法]
如果你上面代码中的windowLength是二维数组的列数的话:
public static ArrayList<Double> getMy_Yij(){
double sum = 0.0;
ArrayList<Double> my_Yij = new ArrayList<Double>();
for (int r=0; r < windowLength; r++) {
sum = 0.0;
for (int c=0; c < getMy_Xij().length; c++) {
if(getMy_Xij()[c] != null)//判断c这一行是否为null
{
sum = sum + getMy_Xij()[c][r];//计算出每个列的和
}
}
my_Yij.add(sum);
System.out.println("my_Y[" + r + "][1] = " + my_Yij.get(r) );
}
return my_Yij;
}