1

重複の可能性: Java Java
の最後の N 要素を保持するサイズ制限付きキュー
Java - リング バッファ

私は、オブジェクトの挿入に直面したときはいつでも、挿入が「オーバーフロー」になる場合、最も古いオブジェクトを最初に削除する、境界のある上記のキューに興味があります。加算を O(1) にして、メモリ使用量をできるだけ少なくしたい。LinkedList で add メソッドをオーバーライドすることを考えていましたが、理想的には、フロント/バック ポインターをキャッチして、円形の配列ベースのリストを実装します。追加が容量を超えて行われるたびに、フロント ポインターが進み、次にバック ポインターが進みます。これに似た実装はありますか?

4

1 に答える 1

-1

次のポインターは mem を使用し、ArrayList は使用しないため、リンクされたリストはメモリの無駄です。

パフォーマンスの高い実装は、ArrayList またはより良い配列に基づいています。循環バッファーのサイズが固定されている場合は、配列を使用します。

開始位置と終了位置のインデックス変数を使用して、内部配列を使用して循環バッファーを実装しました。循環リスト/バッファの実装が見つかりませんでした。それは私が望んでいたことです。

実装するのは難しくありませんでしたが、循環バッファーが期待どおりに機能することを証明するために、多数の単体テスト ケースを使用することをお勧めします。

于 2012-12-05T20:30:52.893 に答える