Java 如何使用ArrayList生成所有元素为int x的m×n矩阵?
在Java中使用Java 如何使用ArrayList生成所有元素为int x的m×n矩阵?,java,matrix,arraylist,generic-collections,Java,Matrix,Arraylist,Generic Collections,在Java中使用ArrayList生成m×n矩阵。我试图构造一个构造函数,它的函数是用所有元素“intx”生成m×n矩阵 我已经声明了matrixArrayList matrix=new ArrayList() 类名是MatrixImpl,因此我尝试创建的构造函数类型是 public-MatrixImpl(双x,int-m,int-n){..} 而且,我不能在这个项目中使用2D数组 import java.util.ArrayList; class MatrixImpl { Ar
ArrayList
生成m×n矩阵。我试图构造一个构造函数,它的函数是用所有元素“intx”生成m×n矩阵
我已经声明了matrixArrayList matrix=new ArrayList()代码>
类名是MatrixImpl
,因此我尝试创建的构造函数类型是
public-MatrixImpl(双x,int-m,int-n){..}
而且,我不能在这个项目中使用2D数组
import java.util.ArrayList;
class MatrixImpl {
ArrayList<ArrayList<Double>> matrix = new ArrayList<>();
MatrixImpl(double x, int m, int n){
}
import java.util.ArrayList;
类MatrixImpl{
ArrayList矩阵=新的ArrayList();
MatrixImpl(双x,整数m,整数n){
}
预期结果:所有元素均为“x”的m×n矩阵。您可以创建一个临时arrayList,并将值添加到arrayList到matrix arrayList。对行数重复该过程
MatrixImpl(double x, int m, int n){
ArrayList<ArrayList<Double>> matrix = new ArrayList<>();
for( int i = 0;i<m;i++){
ArrayList<Double> t = new ArrayList<>();
for(int j=0;j<n;j++){
t.add(x);
}
matrix.add(t);
}
MatrixImpl(双x,整数m,整数n){
ArrayList矩阵=新的ArrayList();
for(int i=0;ijava.util.Arrays为基元类型提供了一些方便的填充方法。
正如注释中所建议的那样,二维数组已经足够好了,因为您在构建时知道矩阵的大小
import java.util.Arrays;
public class MatrixImpl {
double matrix[][];
public MatrixImpl (double x, int m, int n)
{
matrix=new double[m][n];
for (int i=0;i<m;i++)
Arrays.fill(matrix[i],x);
}
public void print()
{
for (int i=0;i<matrix.length;i++)
{
for (int j=0;j<matrix[i].length;j++)
System.out.print(" "+matrix[i][j]);
System.out.println();
}
}
public static void main(String[] args) {
MatrixImpl mi=new MatrixImpl(5,4,3);
mi.print();
}
}
导入java.util.array;
公共类矩阵{
双矩阵[];
公共矩阵ximpl(双x,整数m,整数n)
{
矩阵=新的双[m][n];
对于(int i=0;iIt不清楚您试图做什么。ArrayList matrix=new ArrayList()
就足够了,矩阵将随着元素的添加而动态增长。如果确实需要使用指定的大小对其进行初始化,请使用接受该大小的构造函数,并在外部列表中添加一个新的数组列表。n
不清楚实际问题是什么;您知道大小,只需要初始化列表。正如您所做的那样m x n矩阵您不需要允许动态大小的ArrayList
,数组就足够了,例如:double[][]矩阵=新的double[m][n];