如何处理多维数组?

时间:2010-02-24 19:21:50

标签: java arrays

我想将数组存储在一个数组中,但我不知道该怎么做。

我想要的是: 我有一个名为array的数组。

在我希望将一个项目附加到此数组的方法中,此项目也是一个数组。

例如,这将在我的第一个数组中:(调用方法时会附加每个项目)

{1,2},{2,3},{5,6}

感谢。

2 个答案:

答案 0 :(得分:5)

要完全使用数组,请参阅:http://www.ensta.fr/~diam/java/online/notes-java/data/arrays/arrays-2D-2.html

例如,要分配您可能执行的所有操作:

int[][] tri;

//... Allocate each part of the two-dimensional array individually.
tri = new int[10][];        // Allocate array of rows
for (int r=0; r < 2; r++) {
    tri[r] = new int[2];  // Allocate a row
}

但是,如果需要支持追加操作,最好使用其他数据结构(如List,ArrayList等)来保存顶级“数组”。这样你就可以将数组附加到它而不必玩游戏重新分配它。肖恩的解决方案非常适合这一点。

答案 1 :(得分:1)

void append(List<int[]> arrays) {
  int[] newItem = ...;
  arrays.add(newItem);
}

...

List<int[]> arrays = new ArrayList<int[]>();
...
// then call append() to do your appending
append(arrays);
...
// now get the array of arrays out of it
int[][] as2DArray = arrays.toArray(new int[0][]);