创建大量数组

Dmi*_*try 3 java arrays

例如,你如何创建30个数组(它与char []的类型无关)?在我看来,手工制作它们并不是一个好主意.我想使用"for"循环来做到这一点,但我应该如何指定标识符?

pol*_*nts 7

我建议阅读有关数组教程.它涵盖了基本的数组操作,包括创建"多维"数组.

char[][] arr = new char[30][100];
Run Code Online (Sandbox Code Playgroud)

现在你有了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";
Run Code Online (Sandbox Code Playgroud)

这也表明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]]"
Run Code Online (Sandbox Code Playgroud)