Java,在对象的二维数组中添加值

时间:2014-12-17 15:35:33

标签: java arrays

我有一点问题,关于2维数组。

这是我的示例代码:

Object data1[][] = {
        {icon.get(0), monster.get(0).getName(), monster.get(0).getAp(), monster.get(0).getHp(), monster.get(0).getDp(),},
        {icon.get(1), monster.get(1).getName(), monster.get(1).getAp(), monster.get(1).getHp(), monster.get(1).getDp(),},};

如何这个添加值转换为for循环?

  • monster是对象ArrayList的{​​{1}}。
  • Monster是对象icon的{​​{1}}。

2 个答案:

答案 0 :(得分:0)

数组的大小是不可变的,即无法在不创建新数组的情况下向数组添加值并增加其大小。

我建议使用ArrayLists,然后在绝对必要的情况下使用.toArray()进行转换。

以一个例子来看看这个问题:

How to create a Multidimensional ArrayList in Java?

答案 1 :(得分:0)

如果您正在寻找基于没有硬编码的怪物数量制作阵列,您需要这样做

int numOfMonsters = monster.size();
Object data1[][] = new Object[numOfMonsters][5];
for(int i = 0; i < numOfMonsters; i++){
    data1[i][0] == icon.get(i);
    data1[i][1] == monster.get(i).getName();
    data1[i][2] == monster.get(i).getAp();
    data1[i][3] == monster.get(i).getHp();
    data1[i][4] == monster.get(i).getDp();    
}