java需要ArrayList中的单个数组
有人能告诉我如何从ArrayList中获取数组吗?有关使用“.toArray()”转换为数组的所有信息似乎只适用于ArrayList,而不适用于ArrayList的ArrayList
简单介绍一下背景:我正在从一个可变维度的excel表格中读取值(这意味着它可以是1x1、100x100表格,或者介于两者之间的任何地方),因此需要ArrayList。列数和行数由excel表计算,以便在java程序本身中轻松访问(如下所示)
public static void main(String args[]){
int columns;
int rows;
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream("c:\\KalmanInputFile.xlsx"));
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFRow row1 = sheet.getRow(1);
columns = (int) row1.getCell(7).getNumericCellValue();
rows = (int) row1.getCell(6).getNumericCellValue();
ArrayList <Double> innerlist = new ArrayList<Double>();
ArrayList <ArrayList <Double>> list = new ArrayList<ArrayList <Double>>();
int i;
int j;
for (j = 1; j < (rows+1); j++)
{
XSSFRow row = sheet.getRow((j-1));
for (i = 1; i < (columns+1); i++)
{
innerlist.add((i-1), row.getCell(i).getNumericCellValue());
}
list.add((j-1), new ArrayList<>(innerlist));
innerlist.clear();
}
如果我要打印“列表”,我会得到以下信息:
[[1.0, 1.0, 9.0, 11.0], [0.0, 1.0, 10.0, 12.0], [2.0, 3.0, 4.0, 5.0]]
“列表”中的每个元素都是Excel文件中3x4表的一行。我需要将所有这三个元素转换为单独的数组,以便以后在已经编写的矩阵代数程序中使用
任何帮助都将不胜感激
# 1 楼答案