创建大量数组

3

你如何创建30个数组(类型不限,比如char[])?手动一个一个地创建并不是好主意。我想使用“for”循环来完成这个任务,但是我应该如何指定标识符呢?

3个回答

7

我建议阅读关于数组的教程。它涵盖了基本的数组操作,包括创建“多维”数组。

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]]"

2

您可以随时创建数组的数组:

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

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)));
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接