转换静态"级别"阵列到动态的并且仍然获得XYZ坐标

时间:2016-02-08 02:01:49

标签: java arrays dynamic arraylist lwjgl

好的,所以目前我有一个静态世界(无法调整大小)。 我想知道如何将其转换为ArrayList而不是我目前的情况:

    for(int xP = 0; xP < WORLD_SIZE_X; xP++) {
        for(int zP = 0; zP < WORLD_SIZE_Z; zP++) {
            for(int yP = 0; yP < WORLD_SIZE_Y; yP++) {
            }  
        }  
    }

我的问题是,我该如何制作才能使用

for(int i = 0; i < blocks.length; i++) {}

但仍然得到[x] [y] [z]坐标?

目前我正在使用它来获取块:

blocks[x][y][z];

如何使用动态ArrayList获取XYZ?

如果您需要更多信息,请告诉我。我很乐意帮助您了解我的情况。

1 个答案:

答案 0 :(得分:0)

ArrayList相当于.length .size(),相当于[...] .get(...)

那就是说ArrayList<ArrayList<ArrayList<...>>>是一个非常笨拙的结构;虽然它在理论上是“动态的”,但实际上很难调整大小,因为任何调整大小都需要创建许多新元素,而这些元素必须初始化。

如果您的目标仅仅是能够在运行时指定大小(但之后大小保持不变),那么您可能会发现使用数组更容易,但使用变量worldSizeX和{{ 1}}和worldSizeY而不是常量。