java - 在JAVA中存储二维数组的数据结构

标签 java arrays multidimensional-array arraylist

我正在寻找一种数据结构来存储二维整数数组。 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。因此,您创建了一个 ListCoordinates,它比 int[][][] 具有更多的意义。

关于java - 在JAVA中存储二维数组的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785760/

相关文章:

java - 将父类(super class)类型转换为子类类型?

java - 在java中添加操作perfom并验证输入组件?

java - 从 Java 列表中删除项目

php - 如何检查多维数组中的任何值是否为空?

php - 如何在 MySQL 数据库中存储嵌套/多维数组中的值?

java - 执行 .jar 文件时, `scala` 是否不需要 -jar,而 `java` 则需要?

java - 如何使用NNLS进行非负多元线性回归?

c - 哪个 C 库最适合将单个 char 键值附加到 int 数组?

javascript - 英国假期测试不起作用

c++ - 如何将多维数组传递给C++中的头文件