我想将数组存储在一个数组中,但我不知道该怎么做。
我想要的是: 我有一个名为array的数组。
在我希望将一个项目附加到此数组的方法中,此项目也是一个数组。
例如,这将在我的第一个数组中:(调用方法时会附加每个项目)
{1,2},{2,3},{5,6}
感谢。
答案 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][]);