Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何将一个列表的所有元素与第二个列表的第一个元素相乘?_Java_Arrays_List_Multiplication - Fatal编程技术网

在java中,如何将一个列表的所有元素与第二个列表的第一个元素相乘?

在java中,如何将一个列表的所有元素与第二个列表的第一个元素相乘?,java,arrays,list,multiplication,Java,Arrays,List,Multiplication,我有两份清单;清单1和清单2。list1由5个元素组成,list2由18个元素组成,list2的每个元素依次由一个(41X41)2D数组组成。如何将列表1的第一个元素与列表2的所有18个元素相乘?我必须对列表1的所有五个元素进行乘法运算 我试过了 List<List<Double>> Q = new ArrayList<List<Double>>(); for (int i = 0; i < list1.size(); i++){

我有两份清单;清单1和清单2。list1由5个元素组成,list2由18个元素组成,list2的每个元素依次由一个(41X41)2D数组组成。如何将列表1的第一个元素与列表2的所有18个元素相乘?我必须对列表1的所有五个元素进行乘法运算

我试过了

List<List<Double>> Q = new ArrayList<List<Double>>();   
for (int i = 0; i < list1.size(); i++){
    List<Double[][]> list=new ArrayList<>(list2.size());
    for (int j = 0; j < list2.size(); j++){
        Double P[][] = new Double[41][41];
        for (int k = 0; k < 41; k++){
            for (int l = 0; l < 41; l++){
                P[k][l] = list1.get(i) * list2.get(j)[k][l];
                }
            }
            list.add(P);
        }
        Q.add(list);
     }
List Q=new ArrayList();
对于(int i=0;i

有没有更好的方法可以让理解变得不那么复杂?

如果list2的每个元素都由一个矩阵组成,您应该告诉Java您想要访问第一行和第一列中的元素

double y = list1.get(0)*list2.get(0)[0][0];

若我正确理解了你们的问题,那个么你们需要用数组乘以数字。但这种操作的结果也必须是数组

 double[][] resultArray = new double[10][10];

 for (int i = 0; i < 10; i++) {
     for (int j = 0; i < 10; j++) {
         resultArray[i][j] = list1.get(0) * list2.get(0)[i][j];
     }
 }
double[]resultArray=新的双精度[10][10];
对于(int i=0;i<10;i++){
对于(int j=0;i<10;j++){
resultArray[i][j]=list1.get(0)*list2.get(0)[i][j];
}
}

如果你想将两个数组相乘,我的意思是list1与list2的每个元素相乘,那么这是不可能的,因为你不能将1x2数组与10x10数组相乘。为此,第一个数组中的元素数必须为10,即第一个数组中的元素数(列)必须与第二个数组中的行数匹配。

如何定义数字和数字矩阵之间的乘法运算?他们在线性代数中定义它的方式?谢谢..我理解这一点,但请阅读其他评论以理解我在说什么..我不确定你是否理解我的评论,你的其他评论也没有帮助。当你必须用所有元素乘以所有元素时,它首先意味着你必须用一个元素乘以一个元素,对吗?但一个列表中的“元素”是一个数字。另一个列表中的“元素”是数组。通常你只能将一个数乘以一个数,所以我们需要知道当你说要将一个数乘以一个数组时,你的意思是什么。一个数可以乘以一个矩阵,只需将该数乘以矩阵的所有元素。我需要将列表1的每个元素乘以列表2的所有元素。希望我能说清楚。这就是我现在为(int I=0;I