0

thread1 秒ごとに2 つの long を比較するものarraylistがあります (明らかに 1 つの arraylist が変更されるため、比較しました)。パフォーマンスが低下し、CPU 使用率が大幅に増加します。CPU のパフォーマンスを向上させるための解決策を知りたいです。良い方法は何ですか?配列リストを使用する以外に方法はありますか。

4

2 に答える 2

0

Java Collections フレームワークには、最悪の場合 O(n^2) であるバブル ソートの実装よりも効率的に実行される ArrayLists (およびその他のコレクション) をソートするためのメソッドが含まれています。O を達成することができます。 (n log n) コレクションの使用。

使用法は次のとおりです。

Collections.sort(yourArrayList);

ここに使用例があります: http://onjava.com/onjava/2003/03/12/java_comp.html

于 2012-08-23T14:08:44.303 に答える
0

ArrayList を保持して、変更されたかどうかを保存することができます。したがって、変更する場合は、次のようにしboolean changed = trueます。次に、チェックしたいときは、リスト全体を繰り返すのではなく、チェックするだけif(changed)です。次に、changed = falseチェックするたびに設定することを忘れないでください。

于 2012-08-23T10:40:02.000 に答える