我正在寻找一种数据结构来存储二维整数数组。 List 是正确的数据结构还是我应该使用其他数据结构?
谁能给我一个关于如何创建这样的数据结构以及如何添加二维数组的简短示例?
编辑:我想要一个数据结构,我想在其中存储 int[11][7] 数组。 例如十个,int[11][7] 数组。
最佳答案
如果您需要在数据结构中存储多个 int[][]
数组,我可能会建议您存储 int[][]
数组在表示数据包含内容的 Object
中,然后将这些 Object
存储在 ArrayList
中。
例如,这是一个简单的 Object
包装器,用于您的 int[][]
数组
public class 2DArray {
int[][] array;
public 2DArray(int[][] initialArray){
array = initialArray;
}
}
下面是如何使用它们,并将它们存储在 ArrayList
// create the list
ArrayList<2DArray> myList = new ArrayList<2DArray>();
// add the 2D arrays to the list
myList.add(new 2DArray(myArray1));
myList.add(new 2DArray(myArray2));
myList.add(new 2DArray(myArray3));
我的建议的原因是你的 int[][]
数组必须对你有一些意义。通过将其存储在 Object
包装类中,您可以赋予它意义。例如,如果值是坐标,您将调用您的类 Coordinates
而不是 2DArray
。因此,您创建了一个 List
的 Coordinates
,它比 int[][][]
具有更多的意义。
关于java - 在JAVA中存储二维数组的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785760/