2015-05-02 103 views
0

例如將2-D數組轉換爲3-D數組。是否可以使用數組?如果不是,我應該用什麼班來實現這個目標?在運行時在java中更改數組的維數

編輯:數組維度是用戶在運行時定義的。

+5

你能給一些更多的細節? – SpiderPig

+1

提供了一些更詳細的代碼。 –

+0

該數組被聲明爲2-D數組,我想將數組更改爲3-D數組。 –

回答

1

您不能更改數組的長度或維數,但可以創建具有不同數量維數的新數組,並將舊數組的內容複製到該數組中。

小例子

int[] initialArray = new int[]{1,2,3}; 
    System.out.println(initialArray[0] + " " + initialArray[1] + " "+ initialArray[2]); 
    int[][] newArray = new int[initialArray.length][3]; 
    for (int i=0;i<initialArray.length;i++){ 
     newArray[i][0] = initialArray[i]; 
    } 
    System.out.println(newArray[0][0] + " " + newArray[1][0] + " "+ newArray[2][0]); 
+0

使用ArrayList等其他類怎麼樣? –

+0

問題是你想達到什麼目的?表現很重要還是隻是想存儲價值? –

+0

這沒關係。謝謝 –

2

試試這個,

int[][][] convertinto3d(int[][] d2, int size) { 
     int[][][] dimention = new int[size][d2.length][d2[0].length]; 
     for(int a=0; a< size; a++) { 
     for(int i=0; i<d2.length; i++) { 

       dimention[a][i] = d2[i]; 

      } 


     } 

     return dimention; 

    }