2010-04-02 58 views
3

如何將數組存儲在單個數組中? 例如我有四個不同的數組,我想將它存儲在單個數組中int storeAllArray [],當我打電話給storeAllArray [1],我會得到這個輸出[11,65,4,3,2,9,7]而不是單個元素?如何將數組存儲在單個數組中

int array1 [] = {1,2,3,4,5,100,200,400}; 
int array2 [] = {2,6,5,7,2,5,10}; 
int array3 [] = {11,65,4,3,2,9,7}; 
int array4 [] = {111,33,22,55,77}; 

int storeAllArray [] = {array1,array2,array3,array2} //我希望所有的陣列中的存儲陣列上

for (int i=0; i<storeAllArray; i++){ 
    System.out.println(storeAllArray.get[0]); // e.g. will produce --> 1,2,3,4,5,100,200,400 , how can I do this? 
} 

編輯: 我怎樣才能得到輸出這樣?

System.out.println(storeAllArray [0]) --> [1,2,3,4,5,100,200,400]; 
    System.out.println(storeAllArray [1]) --> [2,6,5,7,2,5,10]; 
    System.out.println(storeAllArray [2]) --> [11,65,4,3,2,9,7]; 
    System.out.println(storeAllArray [2]) --> [111,33,22,55,77]; 
+0

的可能重複的[如何弄平2D陣列到一維數組?](http://stackoverflow.com/questions/2569279/how-to-flatten-2d-array-to-1d-array) – givanse 2013-12-19 16:23:47

+0

@givanse不得不在這裏不同意。您所關聯的問題是關於如何將二維數組轉換爲一維數組,當這個問題真的在詢問有關製作二維數組的問題時。 – 2013-12-19 16:48:12

回答

6
int array1 [] = {1,2,3,4,5,100,200,400}; 
int array2 [] = {2,6,5,7,2,5,10}; 
int array3 [] = {11,65,4,3,2,9,7}; 
int array4 [] = {111,33,22,55,77}; 
int[] storeAllArray [] = {array1,array2,array3,array4}; 

for (int[] array : storeAllArray) { 
    System.out.println(Arrays.toString(array)); 
} 

在Java 5中,該打印

[1, 2, 3, 4, 5, 100, 200, 400] 
[2, 6, 5, 7, 2, 5, 10] 
[11, 65, 4, 3, 2, 9, 7] 
[111, 33, 22, 55, 77] 

在Java 5之前,您應該使用

System.out.println(Arrays.asList(array)); 
+0

謝謝Peter :-) – Jessy 2010-04-02 12:26:13

+0

@Jessy你有沒有試過在Java 5或更高版本中使用'Arrays.asList(array)'?這是行不通的 - 使用'Arrays.toString(array)'代替。 – 2010-04-02 13:41:41

1

如果我理解你的問題,你想「扁平化」這些數組爲一個數組。用Java和其他語言查看rosettacode.org這樣的例子。

0

使用以下語法

int[][] storeAllArray = {array1, array2, array3, array4}; 
0

要訪問你需要做的是這樣選擇的數組的單個元素:

storeAllArray[i][j] 
1
int array1[] = { 1, 2, 3, 4, 5, 100, 200, 400 }; 
    int array2[] = { 2, 6, 5, 7, 2, 5, 10 }; 
    int array3[] = { 11, 65, 4, 3, 2, 9, 7 }; 
    int array4[] = { 111, 33, 22, 55, 77 }; 

    int[][] storeAllArray = new int[][] { array1, array2, array3, array2 }; 

    for (int j : storeAllArray[0]) { 
     System.out.print(j + ", "); 
    } 
0

創建陣列的陣列:

int[] array1 = {1,2,3,4,5,100,200,400}; 
    int[] array2 = {2,6,5,7,2,5,10}; 
    int[] array3 = {11,65,4,3,2,9,7}; 
    int[] array4 = {111,33,22,55,77}; 

    int[][] allArrays = { 
     array1, array2, array3, array4 
    }; 

    System.out.println(java.util.Arrays.toString(allArrays[0])); 
    // prints "[1, 2, 3, 4, 5, 100, 200, 400]" 
0

沒有這樣做的必要。 您可以使用二維數組作爲作業。 確保行長度應該等於最大長度的數組。

int a[]={1,2,3,4,5,6}; 
    int b[]={4,8,3,6,4,5}; 
    int c[][]=new int[2][6];//here 2 refers to the no. of arrays and 6 refers to number of elements in each array