Java整数二维矩阵的最佳结构?

Sop*_*ner 4 java integer arraylist

在Java中存储2D整数矩阵的最佳方法是什么?

这个矩阵将从一个数据文件填充,该数据文件可能有不同的尺寸,因此初始化int M [] [] = new int [n] [m]的某种尺寸不起作用,因为我们不知道矩阵的大小和我们将迭代文件的行并从每行中提取整数(由内部的空格分隔).所以我想使用ArrayList的ArrayList来动态添加整数作为对象,但我不太清楚如何做到这一点.

同样重要的是选择最佳结构来存储这种矩阵的性能,因为我将迭代这个矩阵并进行一些计算.

Lou*_*man 13

从a开始ArrayList<ArrayList<Integer>>,然后在读完文件后立即将其转换int[][]为性能.


Nom*_*Sim 5

正如您猜测的那样,最好在处理文件时使用ArrayListof ArrayList。如果事后性能将成为一个问题,那么将其转回二维数组后记可能是明智的。

您可以ArrayList像这样添加到二维矩阵中:

ArrayList<ArrayList<Integer>> matrix = new ArrayList<ArrayList<Integer>>();
matrix.add(new ArrayList<Integer>());
matrix.get(0).add(ROW0Col0Number);
matrix.get(0).add(ROW0Col1Number);
matrix.get(1).add(ROW1Col0Number);
Run Code Online (Sandbox Code Playgroud)