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