我有一个大小为 nXm 的 2D 矩阵,其中每个单元格包含未知数量的 Integer 类型的值(因此我必须使用 List 才能动态添加内容,并且必须使用 2D 数组 nXm 因为数组很容易访问和编写代码)。PL
- 在向我推荐任何其他数据结构之前先轻松一下,然后在下面回答我的问题,然后讨论为什么我不应该这样做,并选择你认为会更好、更有效的方法:
如何为下面的变量分配内存?
ArrayList<Integer>[][] i2DArrayList;
我知道在某些时候我必须这样做。但是在此之前我必须做一些我不记得知道的其他内存分配。你能在这件事上指导我吗?
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
i2DArrayList[i][j] = new ArrayList<Integer>();
}
}
我已经知道如何在一维中做到这一点:
ArrayList<Integer>[] i1DArrayList;
i1DArrayList = new ArrayList[n];
for (int i = 0; i < i1DArrayList.length; i++) {
i1DArrayList[i] = new ArrayList<Integer>();
}