I次のコードを持っている:ループと比較最適化
ArrayList<Integer> count = new ArrayList<>();
for(int i=0;i<l.size();i++)
count.add(0);
for(int i=0;i<list.size();i++)
{
for(int j=0;j<l.size();j++)
{
if(list.get(i).equals(l.get(j)))
{
int val = count.get(j);
count.set(j, val+1);
}
}
}
私の問題は、ループとの比較のための2つを実行するとき、それがループので、私が通過している反復処理しています、実行するのに非常に長い時間がかかることです:
プログラムを実行するのにかかる時間が短くなるように最適化する方法はありますか?
私はこれを見てきました:解決策は、私の場合には役立ちません。しかしfor loop optimizationと、より多くのページを。 「リスト」は数8の4倍と「L」が含まれている場合
--------- UPDATE ----------
比較は、整数値は、このためであります番号8が含まれている、カウンタは、しかし、私は個人的に、私はそれらを使用していない理由であるハッシュマップのが好きではない、4ハッシュマップが何に似て
にインクリメントする必要があります。
任意の助けいただければ幸いです。
あなたはこのループが行うことになっているものexplenationを含めることができます。入力と出力に[MCVE](http://stackoverflow.com/help/mcve)も含めてください。 – SomeJavaGuy
これは素朴なオカレンスカウンターのようです。 Listの代わりに 'Count 'を使用しているCosider –
私がよく理解すれば、ネストされたループは最終的に150000 x 150000回繰り返されます。それは時間がかかることは不思議ではありません。どのようにかかりますか? –