将"先竖后横"的遍历序列转化为"先横后竖"的遍历:
参数:Object str1[ ][ ]
目标向量结构:
str1[0][0] str1[1][0] str1[2][0] str1[3][0] str1[4][0] str1[5][0] str1[6][0]
str1[0][1] str1[1][1] str1[2][1] str1[3][1] str1[4][1] str1[5][1] str1[6][1]
str1[0][2] str1[1][2] str1[2][2] str1[3][2] str1[4][2] str1[5][2] str1[6][2]
str1[0][3] str1[1][3] str1[2][3] str1[3][3] str1[4][3] str1[5][3] str1[6][3]
str1[0][4] str1[1][4] str1[2][4] str1[3][4] str1[4][4] str1[5][4] str1[6][4]
str1[0][5] str1[1][5] str1[2][5] str1[3][5] str1[4][5] str1[5][5] str1[6][5]
代码如下:
/*
* 将"先竖后横"的遍历转化为"先横后竖"的遍历
* @param Object str1[][]
* @return Vector
*/
public Vector getDataSet(Object str1[][]) {
Vector vctResult = new Vector();
//String str[][] = new String[str1.length][str1[0].length];
//后竖遍历
for(int m=0;m<str1[0].length;m++){
Vector vctTemp = new Vector();
//先横遍历
for(int n=0;n<str1.length;n++){
String strTemp = "";
if(str1[n][m] instanceof Date){
if(str1[n][m]==null||str1[n][m].toString().equals("")||str1[n][m].equals("null")){
strTemp = "";
vctTemp.add(strTemp);
}
else{
//System.out.println("date="+((Date)str1[n][m]));
strTemp = ((Date)str1[n][m])+"";
vctTemp.add(strTemp);
}
}else if(str1[n][m] instanceof Integer){
strTemp = String.valueOf(str1[n][m]);
//str[n][m] = str1[n][m]+"";
//System.out.println("str0["+n+"]["+m+"]="+String.valueOf(str1[n][m]));
vctTemp.add(strTemp);
}else{
strTemp = (String)str1[n][m]==null?"":(String)str1[n][m];
//str[n][m] = str1[n][m]+"";
//System.out.println("str1["+n+"]["+m+"]="+(String)str[n][m]);
vctTemp.add(strTemp);
}
}
vctResult.add(vctTemp);
}
return vctResult;
}