0

パラメータとして2つの配列を取り、最初の配列のすべての要素を2番目の配列の同等の要素と乗算できるJava関数はありますか?

ある場合。その関数は と比較してどのように効率的for loopですか?

Array 1

1, 2, 3, 4

Array 2

4, 3, 2, 1

結果:

4, 6, 6, 4
4

4 に答える 4

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];
}

本当に優れたパフォーマンスが必要な場合は、操作をマルチスレッド(非常に簡単)にすることができますが、それを除けば、魔法のような大幅なパフォーマンスの向上は見られません。本当に安い操作です。

于 2012-08-01T18:29:11.783 に答える
1

EJMLLibrary を Matrix 操作に使用することもできます。

于 2014-05-28T06:49:19.033 に答える
1

JAMAは、自分で作成しない場合に行列演算に使用できるサード パーティのライブラリです。

于 2012-08-01T18:43:09.143 に答える
0
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()));
}    

また、任意のリストに対しても効率的に機能します。

于 2012-08-01T18:32:38.383 に答える