在我的应用程序中,我需要一个二维数组。如果我定义它修复它工作正常,像这样:
static final String arrGroupelements[] = {"India", "Australia", "England", "South Africa"};
static final String arrChildelements[][] = { {"Sachin Tendulkar", "Raina", "Dhoni", "Yuvi" },
{"Ponting", "Adam Gilchrist", "Michael Clarke"},
{"Andrew Strauss", "kevin Peterson", "Nasser Hussain"},
{"Graeme Smith", "AB de villiers", "Jacques Kallis"} };
但是,在我的代码中,我有两个列表。第一个是我能得到的食谱名称列表。
LinkedList<String> recipeList = dbShoppingHandler.getAllRecipeNames();
String arrGroupelements[] = new String[recipeList.size()];
for(int i=0; i<recipeList.size(); i++) {
arrGroupelements[i] = recipeList.get(i);
}
我的第二个清单是成分清单。为了获得成分列表,我需要设置配方名称,然后我可以获得列表。但是,我不知道如何将此列表作为第二维。我的代码是这样的:
String arrChildelements[][] = new String[recipeList.size()][20];
for(int i=0; i<recipeList.size(); i++) {
LinkedList<String> ingredient = dbShoppingHandler.getIngredientsOfRecipeName(recipeList.get(i));
for(int j=0; j<ingredient.size(); j++) {
arrChildelements[i][j] = ingredient.get(j);
}
}
不好的是,我需要为第二维设置一个数字(在我的情况下为 20)。如果我喜欢这个有 5 个项目的列表,我将有 15 个“”元素,而那些有超过 20 个项目的代码将忽略它们。
第一个维度是固定的,但我需要根据成分的数量调整第二个维度。
任何建议表示赞赏。谢谢。