我有一个数组,我向这个数组添加了几个列表。之后,我想在此数组中添加其他列,这些列的长度不同。
int minSize = Math.min(testList.get(j).getDate().size(), testList.get(j).getTotalReturnIndex().size());
List<String[]> data = new ArrayList<String[]>();
for(int m = 0; m < minSize; m++)
{
//TODO remove .replace('.', ',')
data.add(new String[] {testList.get(j).getCompanyName(), testList.get(j).getDate().get(m), testList.get(j).getCurrency(), testList.get(j).getTotalReturnIndex().get(m).toString().replace('.', ','), testList.get(j).getPrice().get(m).toString().replace('.', ','), "", sublist.get(m)});
//here I am getting an `java.lang.IndexOutOfBoundsException:` because the list is not so long like the others
}
这就是我将第一部分(图片的前5列)添加到数组的方式。
在excel中可视化我的数组最终应该看起来像这样:
如何根据以上代码将其他3列添加到以sublist
开头的数组中?
我非常感谢你的回答!
答案 0 :(得分:1)
您可以尝试使用简单的三元组:
int minSize = Math.min(testList.get(j).getDate().size(), testList.get(j).getTotalReturnIndex().size());
List<String[]> data = new ArrayList<String[]>();
for(int m = 0; m < minSize; m++) {
//TODO remove .replace('.', ',')
data.add(new String[] {testList.get(j).getCompanyName(),
testList.get(j).getDate().get(m),
testList.get(j).getCurrency(),
testList.get(j).getTotalReturnIndex().get(m).toString().replace('.', ','),
testList.get(j).getPrice().get(m).toString().replace('.', ','),
"",
(m < sublist.size())? sublist.get(m) : ""
});
}