1. ホーム
  2. java

[解決済み] 過剰な要素を排除する固定サイズのキューはありますか?

2022-04-29 02:40:34

質問

一定の大きさのキューが必要です。要素を追加してキューが一杯になったら、自動的に一番古い要素を削除する必要があります。

Javaでこのような実装はありますか?

どのように解決するのですか?

Java言語およびランタイムに既存の実装がない。すべてのQueueは 抽象的なキュー そして、そのドキュメントには、完全なキューに要素を追加すると、常に例外で終わることが明確に記述されています。必要な機能を持たせるためには、Queueを独自のクラスでラップするのがベストでしょう(そして、とてもシンプルです)。

繰り返しますが、すべてのキューはAbstractQueueの子なので、それを内部データ型として使用するだけで、柔軟な実装が事実上すぐに実行できるはずです :-)

UPDATE

以下のように、2つのオープンな実装があります(この回答はかなり古いです、みなさん!)。 この回答 をご覧ください。