是否有一个 Java 函数可以将两个数组作为参数并将第一个数组中的每个元素与第二个数组中的等价元素相乘?
如果有的话。与 a 相比,该功能如何更有效for loop
?
Array 1
1, 2, 3, 4
Array 2
4, 3, 2, 1
结果:
4, 6, 6, 4
是否有一个 Java 函数可以将两个数组作为参数并将第一个数组中的每个元素与第二个数组中的等价元素相乘?
如果有的话。与 a 相比,该功能如何更有效for loop
?
Array 1
1, 2, 3, 4
Array 2
4, 3, 2, 1
结果:
4, 6, 6, 4
我知道没有内置功能,但实现起来非常简单:
int[] arr = {1, 2, 3, 4};
int[] arr2 = {4, 3, 2, 1};
int[] result = new int[4];
for(int i=0 ; i<arr.length ; i++) {
result[i] = arr[i]*arr2[i];
}
如果你真的需要更好的性能,你可以使操作多线程(很容易),但除此之外,我看不到神奇的、巨大的性能提升。真的是很便宜的手术。
JAMA是一个第三方库,如果您决定不自己滚动,您可以将其用于矩阵运算。
您还可以使用EJML
库进行矩阵运算。
Iterator<Integer> it=ar1.iterator();
Iterator<Integer> it2=ar2.iterator();
while(it.hasNext()&&it2.hasNext())
{
result.add(new Integer(it.next().intValue()*it2.next().intValue()));
}
也可以有效地处理任何列表。