怎样将二维数组转换为以为数组??

[b][/b]

5个回答

遍历行,然后拷贝至一维数组中,性能稍微好点
[code="java"]
private static int[] unitTwoDimArray(int[][] src)
{
int row = src.length;
int col = src[0].length;

    int[] dst = new int[row * col];

    for (int i = 0; i < row; i++)
    {
        System.arraycopy(src[i], 0, dst, i * col, col);
    }

    return dst;
}

[/code]

你遍历一次 放到数组里不就行了

给个小例子:
[code="java"]
public class TestConvertArray {

 public static void main(String[] args) {  
     //定义十行十列的二维数组
     int[][] twoDegree = new int[10][10];
     //简单初始化该二维数组
     int a = 0;
      for(int i=0;i<10;i++){  
            for(int j=0;j<10;j++){  
                twoDegree[i][j] = a++;
            }  
      } 
     //调用二维转一维的方法
     twoDegreeToOneDegree(twoDegree,10,10);  
 }  

 //二维转一维  
 private static void twoDegreeToOneDegree(int[][] twoDegree,int row,int col){  
      int[] oneDegree = new int[row*col];  
      int k = 0;  
      for(int i=0;i<row;i++){  
            for(int j=0;j<col;j++){  
                oneDegree[k] = twoDegree[i][j];  
                k++;  
            }  
      }  
 } 

}
[/code]

nju_abc 的方法不错

[quote]nju_abc 的方法不错[/quote]
嗯,确实。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐