FIFOを使用できるコレクションオブジェクト/ストラテジーを探しています。コレクション内のアイテムの位置を指定するだけで表示できます。明確にする:FIFOのベストコレクションオブジェクトと位置別アイテムの表示
私は100個のDTOオブジェクトを言う保持するために、このデータ構造をしたいと思い、それが101に到達したときに、私は最初の項目など(FIFO)を削除することによって、部屋を作ることができます。
私はこれらのオブジェクトの最新のx個を要求されたときに返すことができます。
.Netキューオブジェクトを使用しようとしましたが、#2をサポートしていないとは限りませんが、何かを見落としている可能性があります。
リストへのインデックス付けはO(N)操作なので、リストはラップしません。 OPがキューに頻繁にインデックスを作成したいと思うように聞こえるので、それは大きな問題です。 配列はO(1)に任意のアクセス時間を与えます。 – arke
リストのような.NET内のリストクラスは内部的に配列を使用しますが、アイテム#0を削除するのはそれらのO(N)操作なのでオーバーヘッドは同じで、同じ場所にはありません。 –
ああ、私はLinkedListを考えていました。その場合、ラッパー・コレクション・クラスで読み取り索引と書き込み索引を使用すると、OPが気にするすべての操作でO(1)になります。 – arke