好的,所以目前我有一个静态世界(无法调整大小)。 我想知道如何将其转换为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?
如果您需要更多信息,请告诉我。我很乐意帮助您了解我的情况。
答案 0 :(得分:0)
ArrayList相当于.length
.size()
,相当于[...]
.get(...)
。
那就是说ArrayList<ArrayList<ArrayList<...>>>
是一个非常笨拙的结构;虽然它在理论上是“动态的”,但实际上很难调整大小,因为任何调整大小都需要创建许多新元素,而这些元素必须初始化。
如果您的目标仅仅是能够在运行时指定大小(但之后大小保持不变),那么您可能会发现使用数组更容易,但使用变量worldSizeX
和{{ 1}}和worldSizeY
而不是常量。