java - 如何创建一个类来处理多维数组列表

标签 java

在搜索有关多维数组列表的信息时,我了解到您可以创建一个类来处理多维数组列表。

我正在做一个类似于 gem 迷阵的 Android 游戏,而不是使用常见的多维网格,我想这会更好!?我还有一个所有 Sprite 对象的列表,我想知道我是否可以使用多维数组列表类存储和控制所有这些对象?

但我不确定一个类会是什么样子以及如何设置和获取数组列表中的值?有没有人有兴趣解释它是如何工作的并展示一个简单的代码示例?谢谢!

编辑:我想在数组列表中有对象,就像这个例子 int grid[][] = new int[8][8]; 但我想要对象而不是整数。我想知道是否可以像我刚刚展示的示例一样轻松地获取和设置值?

编辑 2:我有一个 8x8 的网格,这就是为什么我使用像 [8][8] 这样的数组,但我只能在每个位置有整数或 boolean 类型的值。我还必须使用数组列表来处理在该网格中具有位置的所有 64 个对象。每个对象都存储它的位置,包括在网格数组中和屏幕上的位置。我只是想让它更简单一点来处理和创建一个带有多维 arrayList 的网格来存储对象并有一个网格?可能还是有更好的方法来做到这一点?

最佳答案

    int size =8;
    List<List<Integer>> list  = new ArrayList<List<Integer>>(size);

    for(int i=0; i<size; i++)
    {
        list.add(new ArrayList<Integer>());
    }

    for (int i = 0; i < size; i++) 
    {
        for (int j = 0; j < size; j++) 
        {
            Integer x = list.get(0).get(1); //access the 0,1 element
        }
    }

编辑:
如果你想使用特定的类。例如:Node , 你可以使用 List<List<Node>>而不是 List<List<Integer>>然后访问它。然后您可以调用 Node 的任何方法类如下:

 Node node = list.get(0).get(1); // access the Node at 0,1
 node.getProperties();

关于java - 如何创建一个类来处理多维数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16768021/

相关文章:

java - 我如何通过优化这段Java代码来改进

java - OOP——设计、MVC

Java 将 5 个字母的单词转换为数字需要很长时间

java - Java中如何识别一台计算机

即使正确导入 Java 11 方法,IntelliJ 也无法识别它们

java - 用一串字母创建一棵平衡二叉树

java - DateTimeFormatter 2 位数字小时和分钟(不是手动字符串连接)

java - boolean 值是否在 Java 中实习?

java - 为什么 AbstractCollection.toArray() 处理大小更改的情况?

java - 下载文件流而不是文件