我是Java的新手,请耐心等待我的技能。
以下java语句有助于在mapOne
中保存tabArray[0][0]
对象:
Object[][] tabArray = null;
Map<String, String> mapOne = readDbConfig();
tabArray = new Object[][] { { mapOne } };
我有另一个地图对象(mapTwo
),我可以使用以下代码一次保存两个:
Object[][] tabArray = null;
Map<String, String> mapOne = readDbConfig();
Map<String, String> mapTwo = readDbConfig();
tabArray = new Object[][] { { mapOne }, { mapTwo } };
在上面的案例中,地图存储如下:
mapOne
中的{p> tabArray[0][0]
和mapTwo
中的tabArray[1][0]
问题:
我有以下代码在第4行抛出java.lang.ArrayIndexOutOfBoundsException:
Map<String, String> dataMap = null;
dataMap = new HashMap<String, String>();
dataMap = readDbConfig();
tabArray[cj][0] = dataMap;
答案 0 :(得分:0)
如果readDbConfig方法&#34;生成&#34;你新的地图,你可以使用一个简单的循环
for (int i = 0; i < 100; i++)
tabArray[i][0] = readDbConfig();
或者如果你有一些带有地图的可迭代容器,你可以遍历这个容器
for (Map<String, String> el : container) {
tabArray[i][0] = el;
i++;
}
答案 1 :(得分:0)
我找到了以下解决方案:
Object[][] tabArray = null;
int numberOfMaps = 2;
tabArray = new Object[numberOfMaps][1];//<<< This did the trick
tabArray[0][0] = dataMapOne;
tabArray[1][0] = dataMapTwo;