什么是在Java中存储二维整数矩阵的最佳方法?
这个矩阵将从数据文件中填充,可能具有不同的尺寸,因此初始化int M [] [] = new int [n] [m]某些大小并不起作用,因为我们不知道矩阵的大小,我们只会迭代文件的行,并从每行中提取整数(内部由空格分隔)。所以我想使用一个ArrayList of ArrayList来添加整数作为对象,但我不太确定如何做。
此外,在性能方面选择最佳结构来存储这样的矩阵非常重要,因为我将迭代此矩阵并执行一些计算。
这个矩阵将从数据文件中填充,可能具有不同的尺寸,因此初始化int M [] [] = new int [n] [m]某些大小并不起作用,因为我们不知道矩阵的大小,我们只会迭代文件的行,并从每行中提取整数(内部由空格分隔)。所以我想使用一个ArrayList of ArrayList来添加整数作为对象,但我不太确定如何做。
此外,在性能方面选择最佳结构来存储这样的矩阵非常重要,因为我将迭代此矩阵并执行一些计算。
ArrayList
与原始数组没有性能损失是错误的。内部 ArrayList 确实使用原始数组,但是ArrayList
有额外的开销,而原始数组则没有。你肯定会遇到性能上的差异,只要衡量下降是否值得就行了。 - NominSim