2010-03-20 62 views
3

你如何創建30個數組(它與char []類型無關)?在我看來,這不是一個好主意,要一個一個地創建它們。我想用「for」循環來做到這一點,但我應該如何指定標識符?創建大量數組

回答

2

您可以隨時創建數組的數組:

char[][] arr = new char[30][]; 
for (int i=0; i<30; i++) { 
    arr[i] = new char[50]; 
} 
7

我建議你閱讀tutorial on arrays。它涵蓋了基本的數組操作,包括創建「多維」數組。

char[][] arr = new char[30][100]; 

現在你有arr[0]arr[1],...,arr[29],每個是100 char陣列。


此片段展示了數組初始化的一個例子,以及如何訪問它們:

int[][] m = { 
    { 1, 2, 3 }, 
    { 4, 5, 6, 7, 8 }, 
    { 9 } 
    }; 
    System.out.println(m[1][3]); // prints "7" 

    m[2] = new int[] { -1, -2, -3 }; 
    System.out.println(m[2][1]); // prints "-2"; 

這也表明,Java沒有真正的多維數組; m實際上是一個數組數組。這意味着它們可以有不同的長度(「鋸齒狀」數組),並且可以相互獨立地進行操作。


您還應該熟悉java.util.Arrays。它提供了基本數組操作的實用方法(轉換爲字符串,複製,排序,二分查找等)。

import java.util.Arrays; 

    // ... 

    int[][] table = new int[3][]; 
    for (int i = 0; i < table.length; i++) { 
     table[i] = new int[i + 1]; 
     for (int j = 0; j < table[i].length; j++) { 
      table[i][j] = (i * 10) + j; 
     } 
    } 
    System.out.println(Arrays.deepToString(table)); 
    // prints "[[0], [10, 11], [20, 21, 22]]" 
0

我認爲這是用一個ArrayList

你可以把儘可能多的項目,只要你想在裏面做的最簡單的方法:

java.util.ArrayList<char[]> array = new java.util.ArrayList<char[]>(); 
//set 
for(int i=0;i<100;i++){ 
    array.add(new char[]{'a','b''c'}); 
} 
//get 
for(int i=0;i<array.size();i++){ 
    System.out.println(new String(array.get(i))); 
}