首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

怎么把2维数组存到list里

2012-03-28 
如何把2维数组存到list里?Java coderun:这是我计算后得到的二维数组my_Xij[ 0 , 0]: 1.0my_Xij[ 0 , 1]: 1

如何把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;
}

热点排行