java - 如何创建包含 ArrayLists 的二维数组?

标签 java arrays arraylist libgdx

如何创建包含 ArrayLists 的二维数组?像这样的东西:

ArrayList<Character>[][] myArray = new ArrayList<Character>[][];

并且是否可以执行以下操作:

我需要将某些角色的位置与 map 中建筑物的位置进行比较。几座建筑物可以属于同一个板 block ,但可以在角色前面画一个,在他身后画一个。这种比较必须在游戏中始终对每个角色进行。

每次角色从一个图 block 移动到另一个时,我都试图更新一组字符。然后 render 方法应该查找特定瓦片中有多少个字符(如果有的话),并循环遍历此瓦片中的字符以将它们绘制在建筑物的前面或后面。

像这样:

//init
ArrayList<Character>[][] arrayOfCharacters = new ArrayList<Character>[][];

//each tile in the map
for (int y = 0; y < 9; y++){
    for(int x = 9-1; x >= 0; x--){
        if ( arrayOfCharacters[y][x].length > 0 ){
            for ( int i=0, i< arrayOfCharacters[y][x].length; i++ ){
                //compare which building is in front or behind the characters
                //then
                characterInThisTile = index of each character in arrayOfCharacters[y][x] 
                spriteBatch.draw(characterInThisTile, x_pos, y_pos, tileWidth, tileHeight);
            }   
        }

    }
}

最佳答案

ArrayList<Character>[][] arrayOfCharacters = new ArrayList[9][9];
for(int i=0;i<arrayOfCharacters.length;i++){
      for(int i2=0;i2<arrayOfCharacters[i].length;i2++){
            arrayOfCharacters[i][i2]=new ArrayList<Character>(20);
      }
}

关于java - 如何创建包含 ArrayLists 的二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22205056/

相关文章:

java - 无法切换到 Selenium 中的框架,并在下面的描述中给出了详细信息

Java基本整数数组

java - 如何在没有绑定(bind)异常的情况下打印一维数组中的额外元素?

arrays - 使用哈希表检查数组中是否有重复项

java - 在 Java 的这种情况下,自然顺序是什么意思?

java - Android - Fragment 在 Activity 的 Buttons 后面

java - 聊天服务器 - 实现选项

java - 如何在 ArrayList 对象中存储方法或值

java - 如何将 arrayList.toString() 转换为实际的数组列表

java - 如何找到连接选定顶点(顶点子集)的最小连接器